Impala 单个插入语句创建多个文件

Posted

技术标签:

【中文标题】Impala 单个插入语句创建多个文件【英文标题】:Impala single insert statement creating multiple files 【发布时间】:2018-11-29 23:08:46 【问题描述】:

我有一个Impala 托管表,我正在尝试使用JDBC 连接在Impala 中执行单个语句插入查询。

示例查询 -

插入员工 (ID,NAME,AGE,ADDRESS,SALARY) 值 (1, 'Ramesh', 32,“孟买”,20000)

但是在成功执行查询后,我得到的是多个文件而不是单个文件。

String query = "insert into employee (ID,NAME,AGE,ADDRESS,SALARY) VALUES (1, 'Ramesh', 32, 'Mumbai', 20000 )";
template.execute(query); //template is JDBCTemplate

我找到了一些像SET NUM_NODES=1 这样的解决方案,我尝试使用下面的查询,但查询不起作用 -

String query = "SET NUM_NODES=1; insert into employee (ID,NAME,AGE,ADDRESS,SALARY) VALUES (1, 'Ramesh', 32, 'Mumbai', 20000 )";
template.execute(query); //template is JDBCTemplate

请告诉我,如何使用SET NUM_NODES=1 以及是否有其他方法可以解决此问题。

【问题讨论】:

【参考方案1】:

我已经使用下面的代码解决了这个问题 -

template.execute("SET NUM_NODES = 1"); //template is JDBCTemplate

String query = "insert into employee (ID,NAME,AGE,ADDRESS,SALARY) VALUES (1, 'Ramesh', 32, 'Mumbai', 20000 )";

template.execute(query); //template is JDBCTemplate

template.execute("SET NUM_NODES = 0"); //template is JDBCTemplate

【讨论】:

以上是关于Impala 单个插入语句创建多个文件的主要内容,如果未能解决你的问题,请参考以下文章

在 IMPALA 脚本的插入语句中使用选择查询的结果

ORACLE PL/SQL 使用单个 insert 语句插入多个对象

单个查询中的多个 SQL 更新语句

Apache Impala(五) Impala数据导入方式

Impala分区表

Hive/Impala批量插入数据