hadoop - 从空表插入表在 hive 中失败

标签 hadoop hive hiveql

在HQL脚本中,我已插入到从另一个表插入数据的步骤中,我所面临的问题是某天另一个表可能没有记录。

查询:insert into table table1 select * from table2;
问题:上面的table2可能为空,即表中没有行。
遇到错误:

FAILED: Executing Error, return code 2 from org.apache.hadoop.hive.ql.exe.mr.MapRedTask (state=08S01, code=2)



谁能告诉我如何处理这种情况,我相信由于table2没有任何记录。

最佳答案

在插入数据之前,请检查表2中提供的数据。

如果有数据,请插入表1

IF Exists ( select * from table2)
BEGIN

     - - insert statement goes here.

END

关于hadoop - 从空表插入表在 hive 中失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51228825/

相关文章:

hadoop - 使用 multidelimeter 在配置单元中插入数据

apache - 用于更新动态属性的工具甚至无需重新启动应用程序/服务器

eclipse - 这里有什么异常(exception)?

hadoop - 我可以通过在 Hive 中通过 "CREATE TABLE AS SELECT....."创建的表进行聚类/分桶吗?

hadoop - 同一个IBM账号下访问多个COS实例

hive - 在 Hive 中添加所有带有前缀的列名

hadoop - HIVE表是否在Hadoop集群的所有节点之间重复

Hadoop 只返回一个键值对

hadoop - Hadoop中的深度存储

java - 如何在单个 MapReduce 中读取多种类型的 Avro 数据