【问题标题】:hive data loading: first time successful, failed when repeat ithive数据加载:第一次成功,重复失败
【发布时间】:2018-03-24 03:51:06
【问题描述】:

这真的让我很困惑:

基本上:

  1. 我在 HDFS 上准备了一个数据文件;
  2. 我创建了一个没有位置信息的新蜂巢;
  3. 我将数据加载到配置单元表中; 它有效,hive 表填充了正确的数据;

我放下 hive 表并重新开始:

  1. 我没有再次上传 HDFS 文件,因为它已经存在;
  2. 我使用相同的脚本创建了完全相同的表;
  3. 我试图将数据加载到同一个表中 我被这个错误拒绝了:

失败:SemanticException Line 1:17 路径无效 '"data96/techie.txt"': 没有匹配路径的文件 hdfs://nn01.itversity.com:8020/user/paslechoix/data96/techie.txt

有关 hive 的完整输出,请参阅文件 https://github.com/mdivk/175Scala/blob/master/reviews/first_ok_repeat_fail.txt

【问题讨论】:

  • 您确认文件存在于给定位置吗?另外,请尝试在查询中提及完整的 hdfs 路径。
  • 谢谢 narush 和 Bala(下):根本原因正如你们所怀疑的那样:数据在加载到 hive 表后立即“消失” - 这是一个有趣的设计

标签: hive


【解决方案1】:

第一次成功加载后失败的原因是文件被移动到您正在创建的表的目录中。加载到表后,原始路径上将没有数据。查看您最初将数据移动到的 HDFS 路径。

如果您必须重复该过程,请再次将文件复制到 HDFS 路径并加载表。

【讨论】:

    【解决方案2】:

    删除托管表时,删除表时数据也将被删除。但在外部表上,只会删除该表。

    检查这个更清楚

    External vs Internal

    【讨论】:

    • 感谢您和 narush 的提示,根本原因正如你们所怀疑的:数据在加载到 hive 表后立即“消失” - 这是一个有趣的设计跨度>
    猜你喜欢
    • 2012-01-26
    • 1970-01-01
    • 1970-01-01
    • 2020-03-28
    • 2020-09-13
    • 2012-07-31
    • 2020-08-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多