首页 > 数据库 >29、Flink SQL之DESCRIBE、EXPLAIN、USE、SHOW、LOAD、UNLOAD、SET、RESET、JAR、JOB Statements、UPDATE、DELETE(2)

29、Flink SQL之DESCRIBE、EXPLAIN、USE、SHOW、LOAD、UNLOAD、SET、RESET、JAR、JOB Statements、UPDATE、DELETE(2)

时间:2023-10-20 10:06:38浏览次数:33  
标签:LOAD RESET USE Flink SHOW -- show 语句 SQL




文章目录

  • Flink 系列文章
  • 四、SHOW 语句
  • 1、java示例
  • 2、Flink SQL cli示例
  • 3、show tables
  • 1)、语法
  • 2)、示例
  • 4、SHOW CREATE TABLE
  • 5、SHOW COLUMNS
  • 1)、语法
  • 2)、示例
  • 6、SHOW JARS
  • 7、SHOW JOBS
  • 五、LOAD 语句
  • 1、语法
  • 2、Java示例
  • 3、Flink SQL Cli示例
  • 六、UNLOAD 语句
  • 1、语法
  • 2、java示例
  • 3、Flink SQL Cli示例
  • 七、SET语句
  • 八、RESET 语句
  • 九、JAR 语句
  • 1、语法
  • 2、示例
  • 3、限制
  • 十、JOB 语句
  • 1、语法
  • 2、示例



本文简单的介绍了show、load/unload、set/unset、jar和job语句,并都提供了详细的使用示例。
本文依赖flink和kafka集群能正常使用。
本文分为7个部分,即show介绍及使用、load/unload介绍及使用和set/unset的介绍及使用、jar和job语句介绍及使用。
本文示例均是在Flink 1.17版本的环境中运行的,有些语句低版本没有。

四、SHOW 语句

SHOW 语句用于列出其相应父对象中的对象,例如 catalog、database、table 和 view、column、function 和 module。
SHOW CREATE 语句用于打印给定对象的创建 DDL 语句。当前的 SHOW CREATE 语句仅在打印给定表和视图的 DDL 语句时可用。

目前 Flink SQL 支持下列 SHOW 语句:

  • SHOW CATALOGS
  • SHOW CURRENT CATALOG
  • SHOW DATABASES
  • SHOW CURRENT DATABASE
  • SHOW TABLES
  • SHOW CREATE TABLE
  • SHOW COLUMNS
  • SHOW VIEWS
  • SHOW CREATE VIEW
  • SHOW FUNCTIONS
  • SHOW MODULES
  • SHOW FULL MODULES
  • SHOW JARS

1、java示例

package org.tablesql;

import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;
import org.apache.flink.table.api.TableResult;
import org.apache.flink.table.api.bridge.java.StreamTableEnvironment;

public class Test {

	public static void main(String[] args) throws Exception {
		StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
		StreamTableEnvironment tenv = StreamTableEnvironment.create(env);

		// show catalogs
		tenv.executeSql("SHOW CATALOGS").print();
		
		// show current catalog
		tenv.executeSql("SHOW CURRENT CATALOG").print();
		
		// show databases
		tenv.executeSql("SHOW DATABASES").print();
		
		// show current database
		tenv.executeSql("SHOW CURRENT DATABASE").print();
		
		String sql = "CREATE TABLE alan_ticker2 (\r\n" + 
				"   symbol STRING,\r\n" + 
				"   price DOUBLE,\r\n" + 
				"   tax  DOUBLE,\r\n" + 
				"   rowtime  TIMESTAMP(3),\r\n" + 
				"   WATERMARK FOR rowtime AS rowtime - INTERVAL '1' SECOND\r\n" + 
				") WITH (\r\n" + 
				"  'connector' = 'kafka',\r\n" + 
				"  'topic' = 'alan_ticker2_topic',\r\n" + 
				"  'properties.bootstrap.servers' = '192.168.10.41:9092,192.168.10.42:9092,192.168.10.43:9092',\r\n" + 
				"  'scan.startup.mode' = 'earliest-offset',\r\n" + 
				"  'format' = 'csv'\r\n" + 
				");";
		tenv.executeSql(sql);

		// show tables
		tenv.executeSql("SHOW TABLES").print();
		
		// show create table
		tenv.executeSql("SHOW CREATE TABLE alan_ticker2").print();
		
		// show columns
		tenv.executeSql("SHOW COLUMNS FROM alan_ticker2 LIKE '%s%'").print();
		
		// create a view
		tenv.executeSql("CREATE VIEW alan_view AS SELECT * FROM alan_ticker2");
		
		// show views
		tenv.executeSql("SHOW VIEWS").print();
		
		// show create view
		tenv.executeSql("SHOW CREATE VIEW alan_view").print();
		
		// show functions
		tenv.executeSql("SHOW FUNCTIONS").print();
		
		// create a user defined function
//		tenv.executeSql("CREATE FUNCTION f1 AS ");
		
		// show user defined functions
		tenv.executeSql("SHOW USER FUNCTIONS").print();
		
		// show modules
		tenv.executeSql("SHOW MODULES").print();
		
		// show full modules
		tenv.executeSql("SHOW FULL MODULES").print();

	}

}
  • 运行结果
-- show catalogs
+-----------------+
|    catalog name |
+-----------------+
| default_catalog |
+-----------------+
1 row in set

-- show current catalog
+----------------------+
| current catalog name |
+----------------------+
|      default_catalog |
+----------------------+
1 row in set

-- show databases
+------------------+
|    database name |
+------------------+
| default_database |
+------------------+
1 row in set

-- show current database
+-----------------------+
| current database name |
+-----------------------+
|      default_database |
+-----------------------+
1 row in set

-- show tables
+--------------+
|   table name |
+--------------+
| alan_ticker2 |
+--------------+
1 row in set

-- show create table
CREATE TABLE `default_catalog`.`default_database`.`alan_ticker2` (
  `symbol` VARCHAR(2147483647),
  `price` DOUBLE,
  `tax` DOUBLE,
  `rowtime` TIMESTAMP(3),
  WATERMARK FOR `rowtime` AS `rowtime` - INTERVAL '1' SECOND
) WITH (
  'properties.bootstrap.servers' = '192.168.10.41:9092,192.168.10.42:9092,192.168.10.43:9092',
  'format' = 'csv',
  'topic' = 'alan_ticker2_topic',
  'connector' = 'kafka',
  'scan.startup.mode' = 'earliest-offset'
)

-- show columns
+--------+--------+------+-----+--------+-----------+
|   name |   type | null | key | extras | watermark |
+--------+--------+------+-----+--------+-----------+
| symbol | STRING | TRUE |     |        |           |
+--------+--------+------+-----+--------+-----------+
1 row in set

-- show views
+-----------+
| view name |
+-----------+
| alan_view |
+-----------+
1 row in set

-- show create view
CREATE VIEW `default_catalog`.`default_database`.`alan_view`(`symbol`, `price`, `tax`, `rowtime`) as
SELECT *
FROM `default_catalog`.`default_database`.`alan_ticker2`

-- show functions
+-------------------------------+
|                 function name |
+-------------------------------+
|             AGG_DECIMAL_MINUS |
.....
|                withoutColumns |
+-------------------------------+
185 rows in set

-- show user defined functions
Empty set

-- show modules
+-------------+
| module name |
+-------------+
|        core |
+-------------+
1 row in set

-- show full modules
+-------------+------+
| module name | used |
+-------------+------+
|        core | TRUE |
+-------------+------+
1 row in set

2、Flink SQL cli示例

Flink SQL> SHOW CATALOGS;
default_catalog

Flink SQL> SHOW DATABASES;
default_database

Flink SQL> CREATE TABLE my_table (...) WITH (...);
[INFO] Table has been created.

Flink SQL> SHOW TABLES;
my_table

Flink SQL> SHOW CREATE TABLE my_table;
CREATE TABLE `default_catalog`.`default_db`.`my_table` (
  ...
) WITH (
  ...
)


Flink SQL> SHOW COLUMNS from MyUserTable LIKE '%f%';
+--------+-------+------+-----+--------+-----------+
|   name |  type | null | key | extras | watermark |
+--------+-------+------+-----+--------+-----------+
| field2 | BYTES | true |     |        |           |
+--------+-------+------+-----+--------+-----------+
1 row in set


Flink SQL> CREATE VIEW my_view AS SELECT * from my_table;
[INFO] View has been created.

Flink SQL> SHOW VIEWS;
my_view

Flink SQL> SHOW CREATE VIEW my_view;
CREATE VIEW `default_catalog`.`default_db`.`my_view`(`field1`, `field2`, ...) as
SELECT *
FROM `default_catalog`.`default_database`.`my_table`

Flink SQL> SHOW FUNCTIONS;
mod
sha256
...

Flink SQL> CREATE FUNCTION f1 AS ...;
[INFO] Function has been created.

Flink SQL> SHOW USER FUNCTIONS;
f1
...

Flink SQL> SHOW MODULES;
+-------------+
| module name |
+-------------+
|        core |
+-------------+
1 row in set


Flink SQL> SHOW FULL MODULES;
+-------------+------+
| module name | used |
+-------------+------+
|        core | true |
+-------------+------+
1 row in set


Flink SQL> SHOW JARS;
/path/to/addedJar.jar

3、show tables

其他show 都比较简单,不再赘述。

1)、语法

SHOW TABLES [ ( FROM | IN ) [catalog_name.]database_name ] [ [NOT] LIKE <sql_like_pattern> ]

展示指定库的所有表,如果没有指定库则展示当前库的所有表。另外返回的结果能被一个可选的匹配字符串过滤。

LIKE 根据可选的 LIKE 语句展示给定库中与 <sql_like_pattern> 是否模糊相似的所有表。

LIKE 子句中 sql 正则式的语法与 MySQL 方言中的语法相同。

  • % 匹配任意数量的字符, 也包括0数量字符, % 匹配一个 % 字符.
  • _ 只匹配一个字符, _ 匹配一个 _ 字符.

2)、示例

假定在 catalog1 的 db1 库有person和dim表,在会话的当前库下有fights和orders表。

  • 显示指定库的所有表
show tables from db1;
-- show tables from catalog1.db1;
-- show tables in db1;
-- show tables in catalog1.db1;
+------------+
| table name |
+------------+
|        dim |
|     person |
+------------+
2 rows in set
  • 显示指定库中相似于指定 SQL 正则式的所有表
show tables from db1 like '%n';
-- show tables from catalog1.db1 like '%n';
-- show tables in db1 like '%n';
-- show tables in catalog1.db1 like '%n';
+------------+
| table name |
+------------+
|     person |
+------------+
1 row in set
  • 显示指定库中不相似于指定 SQL 正则式的所有表
show tables from db1 not like '%n';
-- show tables from catalog1.db1 not like '%n';
-- show tables in db1 not like '%n';
-- show tables in catalog1.db1 not like '%n';
+------------+
| table name |
+------------+
|        dim |
+------------+
1 row in set
  • 显示当前库中的所有表
show tables;
+------------+
| table name |
+------------+
|      items |
|     orders |
+------------+
2 rows in set

4、SHOW CREATE TABLE

展示创建指定表的 create 语句。

截至Flink 1.17版本 SHOW CREATE TABLE 只支持通过 Flink SQL DDL 创建的表。

SHOW CREATE TABLE [catalog_name.][db_name.]table_name

5、SHOW COLUMNS

展示给定表的所有列。

LIKE 根据可选的 LIKE 语句展示给定表中与 <sql_like_pattern> 是否模糊相似的所有列。

LIKE 子句中 sql 正则式的语法与 MySQL 方言中的语法相同。

1)、语法

SHOW COLUMNS ( FROM | IN ) [[catalog_name.]database.]<table_name> [ [NOT] LIKE <sql_like_pattern>]

2)、示例

假定在 catalog1 catalog 中的 database1 数据库中有名为 orders 的表,其结构如下所示:

+---------+-----------------------------+-------+-----------+---------------+----------------------------+
|    name |                        type |  null |       key |        extras |                  watermark |
+---------+-----------------------------+-------+-----------+---------------+----------------------------+
|    user |                      BIGINT | false | PRI(user) |               |                            |
| product |                 VARCHAR(32) |  true |           |               |                            |
|  amount |                         INT |  true |           |               |                            |
|      ts |      TIMESTAMP(3) *ROWTIME* |  true |           |               | `ts` - INTERVAL '1' SECOND |
|   ptime | TIMESTAMP_LTZ(3) *PROCTIME* | false |           | AS PROCTIME() |                            |
+---------+-----------------------------+-------+-----------+---------------+----------------------------+
  • 显示指定表中的所有列
show columns from orders;
-- show columns from database1.orders;
-- show columns from catalog1.database1.orders;
-- show columns in orders;
-- show columns in database1.orders;
-- show columns in catalog1.database1.orders;
+---------+-----------------------------+-------+-----------+---------------+----------------------------+
|    name |                        type |  null |       key |        extras |                  watermark |
+---------+-----------------------------+-------+-----------+---------------+----------------------------+
|    user |                      BIGINT | false | PRI(user) |               |                            |
| product |                 VARCHAR(32) |  true |           |               |                            |
|  amount |                         INT |  true |           |               |                            |
|      ts |      TIMESTAMP(3) *ROWTIME* |  true |           |               | `ts` - INTERVAL '1' SECOND |
|   ptime | TIMESTAMP_LTZ(3) *PROCTIME* | false |           | AS PROCTIME() |                            |
+---------+-----------------------------+-------+-----------+---------------+----------------------------+
5 rows in set
  • 显示指定表中相似于指定 SQL 正则式的所有列
show columns from orders like '%r';
-- show columns from database1.orders like '%r';
-- show columns from catalog1.database1.orders like '%r';
-- show columns in orders like '%r';
-- show columns in database1.orders like '%r';
-- show columns in catalog1.database1.orders like '%r';
+------+--------+-------+-----------+--------+-----------+
| name |   type |  null |       key | extras | watermark |
+------+--------+-------+-----------+--------+-----------+
| user | BIGINT | false | PRI(user) |        |           |
+------+--------+-------+-----------+--------+-----------+
1 row in set
  • 显示指定表中不相似于指定 SQL 正则式的所有列
show columns from orders not like '%_r';
-- show columns from database1.orders not like '%_r';
-- show columns from catalog1.database1.orders not like '%_r';
-- show columns in orders not like '%_r';
-- show columns in database1.orders not like '%_r';
-- show columns in catalog1.database1.orders not like '%_r';
+---------+-----------------------------+-------+-----+---------------+----------------------------+
|    name |                        type |  null | key |        extras |                  watermark |
+---------+-----------------------------+-------+-----+---------------+----------------------------+
| product |                 VARCHAR(32) |  true |     |               |                            |
|  amount |                         INT |  true |     |               |                            |
|      ts |      TIMESTAMP(3) *ROWTIME* |  true |     |               | `ts` - INTERVAL '1' SECOND |
|   ptime | TIMESTAMP_LTZ(3) *PROCTIME* | false |     | AS PROCTIME() |                            |
+---------+-----------------------------+-------+-----+---------------+----------------------------+
4 rows in set

6、SHOW JARS

SHOW JARS

展示所有通过 ADD JAR 语句加入到 session classloader 中的 jar。

截至Flink 1.17版本 SHOW JARS 命令只能在 SQL CLI 或者 SQL Gateway 中使用.

7、SHOW JOBS

SHOW JOBS

展示集群中所有作业。

截至Flink 1.17版本 SHOW JOBS 命令只能在 SQL CLI 或者 SQL Gateway 中使用.

五、LOAD 语句

LOAD 语句用于加载内置的或用户自定义的模块。

1、语法

module_name 是一个简单的标识符。它是区分大小写的,由于它被用于执行模块发现,因此也要与模块工厂(module factory)中定义的模块类型相同。属性 (‘key1’ = ‘val1’, ‘key2’ = ‘val2’, …) 是一个 map 结构,它包含一组键值对(不包括 ’type’ 的键),这些属性会被传递给模块发现服务以实例化相应的模块。

LOAD MODULE module_name [WITH ('key1' = 'val1', 'key2' = 'val2', ...)]

2、Java示例

可以使用 TableEnvironment 的 executeSql() 方法执行 LOAD 语句。如果 LOAD 操作执行成功,executeSql() 方法会返回 ‘OK’,否则会抛出异常。

以下示例展示了如何在 TableEnvironment 中执行一条 LOAD 语句。

import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;
import org.apache.flink.table.api.TableResult;
import org.apache.flink.table.api.bridge.java.StreamTableEnvironment;

public class Test {

	public static void main(String[] args) throws Exception {
		StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
		StreamTableEnvironment tenv = StreamTableEnvironment.create(env);
		
		// show modules
		tenv.executeSql("SHOW MODULES").print();
		
		// show full modules
		tenv.executeSql("SHOW FULL MODULES").print();
		
		// 加载 hive 模块
		tenv.executeSql("LOAD MODULE hive WITH ('hive-version' = '3.1.2')");
		tenv.executeSql("SHOW MODULES").print();
		
	}

}
  • 运行结果
-- show modules
+-------------+
| module name |
+-------------+
|        core |
+-------------+
1 row in set

-- show full modules
+-------------+------+
| module name | used |
+-------------+------+
|        core | TRUE |
+-------------+------+
1 row in set

-- 加载 hive 模块 后 show modules
+-------------+
| module name |
+-------------+
|        core |
|        hive |
+-------------+
2 rows in set

3、Flink SQL Cli示例

Flink SQL> LOAD MODULE hive WITH ('hive-version' = '3.1.3');
[INFO] Load module succeeded!

Flink SQL> SHOW MODULES;
+-------------+
| module name |
+-------------+
|        core |
|        hive |
+-------------+

六、UNLOAD 语句

UNLOAD 语句用于卸载内置的或用户自定义的模块

1、语法

UNLOAD MODULE module_name

2、java示例

import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;
import org.apache.flink.table.api.TableResult;
import org.apache.flink.table.api.bridge.java.StreamTableEnvironment;

public class Test {

	public static void main(String[] args) throws Exception {
		StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
		StreamTableEnvironment tenv = StreamTableEnvironment.create(env);
		
		// show modules
		tenv.executeSql("SHOW MODULES").print();
		
		// show full modules
		tenv.executeSql("SHOW FULL MODULES").print();
		
		// 加载 hive 模块
		tenv.executeSql("LOAD MODULE hive WITH ('hive-version' = '3.1.2')");
		tenv.executeSql("SHOW MODULES").print();
		
		// 卸载 hive 模块
		tenv.executeSql("UNLOAD MODULE hive");
		tenv.executeSql("SHOW MODULES").print();
	}

}
  • 运行结果
-- show modules
+-------------+
| module name |
+-------------+
|        core |
+-------------+
1 row in set

-- show full modules
+-------------+------+
| module name | used |
+-------------+------+
|        core | TRUE |
+-------------+------+
1 row in set

-- 加载 hive 模块 后 show modules
+-------------+
| module name |
+-------------+
|        core |
|        hive |
+-------------+
2 rows in set

-- 卸载 hive 模块 后 show modules
+-------------+
| module name |
+-------------+
|        core |
+-------------+
1 row in set

3、Flink SQL Cli示例

Flink SQL> UNLOAD MODULE hive;
[INFO] Unload module succeeded!

Flink SQL> SHOW MODULES;
+-------------+
| module name |
+-------------+
|        core |
+-------------+
1 row in set

七、SET语句

SET 语句用于修改配置或展示配置。
SET 语句可以在 SQL CLI 中执行。

以下示例展示了如何在 SQL CLI 中执行一条 SET 语句。

Flink SQL> SET 'table.local-time-zone' = 'Europe/Berlin';
[INFO] Session property has been set.

Flink SQL> SET;
'table.local-time-zone' = 'Europe/Berlin'
  • 语法
SET ('key' = 'value')

如果没有指定 key 和 value,它仅仅打印所有属性。否则,它会为 key 设置指定的 value 值。

八、RESET 语句

RESET 语句用于将配置重置为默认值
RESET 语句可以在 SQL CLI 中执行。

以下示例展示了如何在 SQL CLI 中执行一条 RESET 语句。

Flink SQL> RESET 'table.planner';
[INFO] Session property has been reset.

Flink SQL> RESET;
[INFO] All session properties have been set to their default values.
  • 语法
RESET ('key')

如果未指定 key,则将所有属性重置为默认值。否则,将指定的 key 重置为默认值。

九、JAR 语句

JAR 语句用于将用户 jar 添加到 classpath、或将用户 jar 从 classpath 中删除或展示运行时 classpath 中添加的 jar。

截至Flink1.17 版本 Flink SQL 支持以下 JAR 语句:

  • ADD JAR
  • SHOW JARS
  • REMOVE JAR

1、语法

  • add jar
ADD JAR '<path_to_filename>.jar'

添加一个 JAR 文件到资源列表中,该 jar 应该位于 Flink 当前支持的本地或远程文件系统 中。添加的 JAR 文件可以使用 SHOW JARS 语句列出。

  • SHOW JARS
SHOW JARS

展示所有通过 ADD JAR 语句添加的 jar。

  • REMOVE JAR
REMOVE JAR '<path_to_filename>.jar'

删除由 ADD JAR 语句添加的指定 jar。

REMOVE JAR 语句仅适用于 SQL CLI。

2、示例

以下示例展示了如何在 SQL CLI 中运行 JAR 语句。该部分在文章:19、Flink 的Table API 和 SQL 中的自定义函数(2) 中示例添加用户自定义函数。

Flink SQL> ADD JAR '/path/hello.jar';
[INFO] Execute statement succeed.

Flink SQL> ADD JAR 'hdfs:///udf/common-udf.jar';
[INFO] Execute statement succeed.

Flink SQL> SHOW JARS;
+----------------------------+
|                       jars |
+----------------------------+
|            /path/hello.jar |
| hdfs:///udf/common-udf.jar |
+----------------------------+

Flink SQL> REMOVE JAR '/path/hello.jar';
[INFO] The specified jar is removed from session classloader.

3、限制

请不要通过 ADD JAR 语句来加载 Hive 的source、sink、function、catalog。这是 Hive connector 的一个已知限制,且会在将来版本中修复。请参考使用hive集成的文章:33、Flink之hive介绍与简单示例

十、JOB 语句

Job 语句用于管理作业的生命周期。

截至Flink 1.17版本 Flink SQL 支持以下 JOB 语句:

  • SHOW JOBS
  • STOP JOB

1、语法

  • SHOW JOBS
SHOW JOBS

展示 Flink 集群上的作业。

SHOW JOBS 语句仅适用于 SQL CLI 或者 SQL Gateway.

  • STOP JOB
STOP JOB '<job_id>' [WITH SAVEPOINT] [WITH DRAIN]

停止指定作业。

WITH SAVEPOINT 在作业停止之前执行 Savepoin。 Savepoint 的路径可以通过集群配置的 state.savepoints.dir 指定, 或者通过 SET 语句指定(后者有更高优先级)。

WITH DRAIN 在触发 savepoint 之前将 Watermark 提升至最大。该操作会可能会触发窗口的计算。请您注意该操作可能导致您之后从该创建的 savepoint 恢复的作业结果不正确。

STOP JOB 语句仅适用于 SQL CLI 或者 SQL Gateway.

2、示例

Flink SQL> SHOW JOBS;
+----------------------------------+----------+---------+----------------------------+
|                           job id | job name |  status |              start time    |
+----------------------------------+----------+---------+----------------------------+
| 228d70913eab60cca85c5e7f78b5783f |    alan_job | RUNNING | 2023-09-11T05:03:51.523 |
+----------------------------------+----------+---------+----------------------------+

Flink SQL> SET 'state.savepoints.dir'='hdfs://server1:8020/flinktest/flinkckp/';
[INFO] Execute statement succeed.

Flink SQL> STOP JOB '228d70913eab60cca85c5e7f78b5783f' WITH SAVEPOINT;
+-----------------------------------------------------------------------------+
|                                      savepoint path                         |
+-----------------------------------------------------------------------------+
| hdfs://server1:8020flinktest/flinkckp/0f93e35e25c3fb87ee8ce3d6393d6344      |
+-----------------------------------------------------------------------------+

以上,简单的介绍了show、load/unload、set/unset、jar和job语句,并都提供了详细的使用示例。


标签:LOAD,RESET,USE,Flink,SHOW,--,show,语句,SQL
From: https://blog.51cto.com/alanchan2win/7946863

相关文章

  • 29、Flink SQL之DESCRIBE、EXPLAIN、USE、SHOW、LOAD、UNLOAD、SET、RESET、JAR、JOB
    Flink系列文章1、Flink部署、概念介绍、source、transformation、sink使用示例、四大基石介绍和示例等系列综合文章链接13、Flink的tableapi与sql的基本概念、通用api介绍及入门示例14、Flink的tableapi与sql之数据类型:内置数据类型以及它们的属性15、Flink的tableapi与s......
  • 错误:You can't specify target table 'xxx' for update in FROM clause的解决
    deleteFROMusrloginwheremember_id=(SELECTmember_idFROMusrloginWHERElogin_id='#011SkhVVje27smbxek0XwjKeA==');会出现报错信息:Youcan'tspecifytargettable'tempA'forupdateinFROMclause大致意思是,在同一语句中,不能先select出同一表中的......
  • Linux操作系统从BIOS到bootloader是如何运行的
    操作系统一般都会在安装在硬盘上,在BIOS的界面上。你会看到一个启动盘的选项。启动盘有什么特点呢?它一般在第一个扇区,占512字节,而且以0xAA55结束。这是一个约定,当满足这个条件的时候,就说明这是一个启动盘,在512字节以内会启动相关的代码。这些代码是谁放在这里的呢?在Linux......
  • 用友畅捷通 畅捷CRM get_usedspace.php SQL注入漏洞
    漏洞简介畅捷CRMget_userspace.php文件中site_id参数存在SQL注入漏洞漏洞复现fofa语法:icon_hash="-1068428644"登录页面如下:POC:GET/WebSer~1/get_usedspace.php?site_id=-1159%20UNION%20ALL%20SELECT%20CONCAT(0x7178767671,0x5664726e476a637a565a50614d4c435745446a......
  • 安卓手机连接use调试解决方案
    一、确认手机的USB调试接口是打开的;----------打开开发者模式,暴击手机版本号多次,直到提示已打开开发者模式。二、使用USB线连接电脑和手机,可以首先执行adbremount(重新挂载系统分区,使系统分区重新可写)命令;三、remount成功后,可以使用adbshell命令查看设备是否连接成功;四、......
  • import { useRouter } from 'next/router'; 在非hooks 文件或组件中使用
    将 import{useRouter}from'next/router';改为 importRouterfrom"next/router";使用: Router.push('/');原来使用 import{useRouter}from'next/router';会导致报错如下  ......
  • [spring-mvc.xml] cannot be opened because it does not exist
    IOExceptionparsingXMLdocumentfromclasspathresource[spring-mvc.xml];nestedexceptionisjava.io.FileNotFoundException:classpathresource[spring-mvc.xml]cannotbeopenedbecauseitdoesnotexist检查pom.xml文件:<packaging>war</packagin......
  • Detected non-NVML platform: could not load NVML: libnvidia-ml.so.1: cannot open
    前言在kubernetes中配置https://github.com/NVIDIA/k8s-device-plugin时,报错:Detectednon-NVMLplatform:couldnotloadNVML:libnvidia-ml.so.1:cannotopensharedobject解决kubernetes使用运行时docker,需要编辑通常存在的配置文件/etc/docker/daemon.json,以......
  • Failed to stop auditd.service: Operation refused, unit auditd.service may be req
    [root@7~]#systemctlstopauditd.serviceFailedtostopauditd.service:Operationrefused,unitauditd.servicemayberequestedbydependencyonly(itisconfiguredtorefusemanualstart/stop).Seesystemlogsand'systemctlstatusauditd.service&#......
  • System.TypeLoadException:“程序集“XXXX.K3.SCM.App.Core, Version=1.0.0.0, Cultur
    一、问题描述:网站页面调用方法时报错:报错内容如下:System.TypeLoadException:“程序集“XXXX.K3.SCM.App.Core, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null”中的类型“XXXX.K3.SCM.App.Core.StockService”的方法“WriteBackAfterByInWhenAudit”没有实现。”......