将本地数据加载到 Hive 数据库面临的问题
Posted
技术标签:
【中文标题】将本地数据加载到 Hive 数据库面临的问题【英文标题】:loading data local to hive database facing issue 【发布时间】:2017-11-25 12:56:07 【问题描述】:hive>LOAD DATA INPATH '/hadoop/abc/POC2_Setup/input/warr2_claims_5441F.csv' OVERWRITE INTO TABLE baumuster_pre_analysi_text;
失败:SemanticException Line 1:17 路径无效 ''/hadoop/abc/POC2_Setup/input/warr2_claims_5441F.csv'':没有文件 匹配路径 hdfs://localhost:9000/hadoop/abc/POC2_Setup/input/warr2_claims_5441F.csv
【问题讨论】:
你有文件吗 - hdfs://localhost:9000/hadoop/abc/POC2_Setup/input/warr2_claims_5441F.csv。你有没有机会在 /user/hadoop 而不是 /hadoop 下拥有文件? 【参考方案1】:如果我们从本地文件系统加载,我们需要使用关键字“local”,如下所示,
LOAD DATA LOCAL INPATH '你的本地文件路径' OVERWRITE INTO TABLE your-hive-table;
如果从 HDFS 加载,
LOAD DATA INPATH '你的 hdfs 文件路径' OVERWRITE INTO TABLE your-hive-table;
【讨论】:
【参考方案2】:如果您从本地加载数据,则必须提及LOCAL
。
hive>LOAD LOCAL DATA INPATH '/hadoop/abc/POC2_Setup/input/warr2_claims_5441F.csv' OVERWRITE INTO TABLE baumuster_pre_analysi_text;
如果您的默认目录未设置为本地,那么您必须在路径前提及file:/
。
【讨论】:
【参考方案3】:要从本地机器加载数据,您可以使用以下命令:
LOAD DATA LOCAL INPATH '/hadoop/abc/POC2_Setup/input/warr2_claims_5441F.csv' OVERWRITE INTO TABLE baumuster_pre_analysi_text;
【讨论】:
以上是关于将本地数据加载到 Hive 数据库面临的问题的主要内容,如果未能解决你的问题,请参考以下文章