我安装了一个单节点cloudera来开始学习这种技术。现在,我正在尝试从csv文件创建一个关于hue的表。
当我尝试这样做时,正在创建表,但没有任何数据,只有列结构,我得到以下错误:
编译语句时出错:失败:semanticexception行1:17无效路径“”/user/josholsan/ic\u data/\u glucosa.csv“”:没有与路径匹配的文件hdfs://server_name:8020/user/josholsan/ic\u data/\u glucosa.csv
错误说明没有与此路径匹配的文件,但当我在终端中尝试以下操作时,文件就在那里:
hadoop fs -ls hdfs//server_name.8020/user/josholsan/ic_data/_glucosa.csv
创建表所执行的代码如下:
CREATE TABLE `test`.`cpk`
(
`id` bigint ,
`numsipcod` string ,
`valor` bigint ,
`fecharegistro` string ) ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.OpenCSVSerde'
WITH SERDEPROPERTIES ("separatorChar" = "\t",
"quoteChar" = "\"",
"escapeChar" = "\\"
)
STORED AS TextFile TBLPROPERTIES("skip.header.line.count" = "1")
;
LOAD DATA INPATH '/user/josholsan/ic_data/_glucosa.csv' INTO TABLE `test`.`glucosa`;
我还尝试使用load data local inpath从本地加载文件。
我真的不知道怎么继续。我一直在上网,但我所发现的对我没有帮助。有件事引起了我的注意,当我在这行上面写命令时,这个文件的权限是:-rw-r--r--
总之,我在hdfs设置中禁用了权限检查。
任何了解hdfs/hue/cloudera的人都知道这里的问题是什么?提前多谢=)
1条答案
按热度按时间lrpiutwd1#
TL;DR
重命名文件——在hadoop生态系统中,通常会忽略名称以点或下划线开头的数据文件。哪些文件被Map器忽略作为输入?
(... hadoop源代码摘录…)
所以如果你用。。。
TextInputFormat
... 隐藏的文件(文件名以“\”或“.”开头)将被忽略。Hive
TextFile
格式依赖于mapreduceTextInputFormat
--因此,所有带前导点或前导下划线的文件都将被忽略;它们应该是信号量(例如。_SUCCESS
由pig或spark使用)或temp目录(例如。.impala_insert_staging/
)诸如此类。此外,摘自 Impala 文献:
insert语句总是在表的数据目录中留下一个隐藏的工作目录。以前,这个隐藏的工作目录被命名为
.impala_insert_staging
. 在impala 2.0.1及更高版本中,此目录名更改为_impala_insert_staging
.(虽然hdfs工具预期会将以下划线和点开头的名称视为隐藏名称,但实际上以下划线开头的名称更受广泛支持。)