load data inpath出错原因及解决方法

Posted 卡丽熙

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了load data inpath出错原因及解决方法相关的知识,希望对你有一定的参考价值。

hive> load data inpath "hdfs://Master.hdp:9000/person.txt" into table Person1;                        
FAILED: SemanticException [Error 10028]: Line 1:17 Path is not legal \'"hdfs://Master.hdp:9000/person.txt"\': Move from: hdfs://Master.hdp:9000/person.txt to: hdfs://192.168.153.202:9000/user/hive/warehouse/dbmaster1.db/person1 is not valid. Please check that values for params "default.fs.name" and "hive.metastore.warehouse.dir" do not conflict.

 

通常报这个错是因为程序会check两个路径的schema是否一致,这里的schema就是namenode名称,也是namenode的操作系统的机器名,这里一个是配置的是IP:192.168.153.202,另外一个用的是别名,所以报错。
SQOOP先把数据导入到hdfs某一路径,这一路径是有hadoop里面的core-site.xml里面的default.fs.name配置决定的,然后再在hive的元数据库里面建表,然后用hive的load 文件到hive的方法把数据导入到hive,存储路径是hive的内部表的路径,由hive-site.xml的hive.metastore.warehouse.dir决定。
 
解决方法:1.
修改hive-site.xml文件:
hive.metastore.warehouse.dir修改为hdfs://192.168.153.202:9000/user/hive/warehouse
2.不使用别名,配置文件里面配的是IP名就写IP名。

 

以上是关于load data inpath出错原因及解决方法的主要内容,如果未能解决你的问题,请参考以下文章

HDP3.x hive load data local inpath 设置

如何使用 spark 的通配符运行 LOAD DATA INPATH hive 命令?

LOAD DATA INPATH 将相同的基于 CSV 的数据加载到两个不同的外部 Hive 表中

hive里 load data执行日志怎么看

mysql使用load导入txt文件所遇到的问题及解决方法

旗正规则引擎内存表出错的原因及解决方法分享