Hadoop 使用色调创建配置单元表
我安装了单节点Cloudera,开始学习这种技术。现在,我正在尝试从CSV文件创建一个关于色调的表 当我尝试这样做时,正在创建表,但没有任何数据,只有列结构,我得到以下错误: 编译语句时出错:失败:SemanticException行1:17 无效路径“”/user/josholsan/ic_data/_glucosa.csv“”:无文件 匹配路径 hdfs://server_name:8020/user/josholsan/ic_data/_glucosa.csv 错误表示没有与此路径匹配的文件,但当我在终端中尝试以下操作时,文件就在那里:Hadoop 使用色调创建配置单元表,hadoop,hive,hue,Hadoop,Hive,Hue,我安装了单节点Cloudera,开始学习这种技术。现在,我正在尝试从CSV文件创建一个关于色调的表 当我尝试这样做时,正在创建表,但没有任何数据,只有列结构,我得到以下错误: 编译语句时出错:失败:SemanticException行1:17 无效路径“”/user/josholsan/ic_data/_glucosa.csv“”:无文件 匹配路径 hdfs://server_name:8020/user/josholsan/ic_data/_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`;
我还尝试使用LoadDataLocalInPath从本地加载文件
我真的不知道该怎么做。我一直在上网,但我所发现的对我没有帮助。
有一件事引起了我的注意,那就是当我在这行上面写命令时,这个文件的权限,权限是:
-rw-r--r--
无论如何,我在HDFS设置中禁用了权限检查
任何了解HDFS/HUE/Cloudera的人都知道这里的问题是什么?
提前非常感谢=)
TL;DR
重命名文件——在Hadoop生态系统中,名称以点或下划线开头的数据文件通常会被设计忽略
从
(…Hadoop源代码摘录…)
所以如果你用<代码>文本输入格式。。。隐藏的文件(文件)
名称以开头。将忽略“\u”或”)
配置单元TextFile
格式依赖于MapReduceTextInputFormat
——因此所有带前导点或前导下划线的文件都将被忽略;它们应该是信号量(例如Pig或Spark使用的\u SUCCESS
)或临时目录(例如.impala\u insert\u staging/
)等
此外,摘录自:
INSERT语句总是留下一个隐藏的工作目录
在表的数据目录中。以前,这个隐藏的作品
目录名为.impala\u insert\u staging
。在黑斑羚2.0.1和
稍后,此目录名更改为\u impala\u insert\u staging
(虽然HDFS工具希望处理以 下划线和点为隐藏,实际上名称以 下划线更受广泛支持。)
配置单元希望目录为
位置
,而不是文件。另外,带有前导点或下划线的文件通常是设计忽略的信号量或临时文件…非常感谢@SamsonScharfrichter。重命名带前导的文件解决了问题。将目录视为位置,然后如何指定要加载到表中的文件?这对我来说很有效,只是没有了!。再次非常感谢你。你能把它作为解决方案发布吗?