我正在尝试以伪分布式模式运行配置单元脚本。当我运行交互模式时,脚本中的命令运行得非常好。但是,当我在脚本中添加所有这些命令并运行时,我收到错误。
剧本:
add jar /path/to/jar/file;
create table flights(year int, month int,code string) row format serde 'com.bizo.hive.serde.csv.CSVSerde';
load data inpath '/tmp/hive-user/On_Time_On_Time_Performance_2013_1.csv' overwrite into table flights;
HDFS中确实存在'On_Time_On_Time_Performance_2013_1.csv'。我得到的错误是:
FAILED: SemanticException Line 3:17 Invalid path ''/tmp/hive-user/On_Time_On_Time_Performance_2013_1.csv'': No files matching path hdfs://localhost:54310/tmp/hive-user/On_Time_On_Time_Performance_2013_1.csv
fs.default.name=hdfs://localhost:54310
我的hadoop运行正常。
有人可以提供任何指示吗?
感谢。
答案 0 :(得分:0)
这不是一个真正的答案,但它是一个更详细和可重复的问题表述。
a)需要从这里下载csv-serde:git clone https://github.com/ogrodnek/csv-serde
b)使用mvn包构建它 c)创建一个文本文件,其中包含与给定表的三个字段对应的三个逗号分隔字段。 c)如果路径是“/ shared”,则以下是要加载的正确序列:
add jar /shared/csv-serde/target/csv-serde-1.1.2-0.11.0-all.jar;
drop table if exists flights;
create table flights(year int, month int,code string) row format serde 'com.bizo.hive.serde.csv.CSVSerde' stored as textfile;
load data inpath '/tmp/hive-user/On_Time_On_Time_Performance_2013_1.csv' overwrite into table flights;
我确实看到与OP中相同的错误:FAILED:SemanticException Line 2:17无效路径''/ tmp / hive-user / On_Time_On_Time_Performance_2013_1.csv'':没有匹配路径的文件hdfs:// localhost:9000 / TMP /蜂房用户/ On_Time_On_Time_Performance_2013_1.csv