使用HUE创建Hive表

时间:2017-08-01 12:43:23

标签: hadoop hive hue

我安装了单个节点Cloudera,开始学习这项技术。现在,我正在尝试从CSV文件创建一个关于HUE的表。

当我尝试这样做时,正在创建表但没有任何数据,只有列结构,我收到以下错误:

  

编译语句时出错:FAILED:SemanticException Line 1:17   路径''/user/josholsan/ic_data/_glucosa.csv'无效:没有文件   匹配路径   HDFS://服务器名:8020 /用户/ josholsan / ic_data / _glucosa.csv

错误说没有匹配此路径的文件,但是当我在终端中尝试以下操作时,文件就在那里:

hadoop fs -ls hdfs//server_name.8020/user/josholsan/ic_data/_glucosa.csv

执行代码HUE以创建表格如下:

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 个答案:

答案 0 :(得分:1)

TL;DR重命名您的文件 - 在Hadoop生态系统中,名称以点或下划线开头的数据文件通常通常被忽略。

来自which files ignored as input by mapper?

  

(... Hadoop源代码摘录...)

     

因此,如果您使用... TextInputFormat ...隐藏文件(文件   名称以“_”“开头。”)将被忽略。

Hive TextFile格式依赖于MapReduce TextInputFormat - 因此忽略所有带有前导点或前导下划线的文件;它们应该是信号量(例如Pig或Spark使用的_SUCCESS)或临时目录(例如.impala_insert_staging/)等。

此外,摘录自the Impala documentation

  

INSERT语句总是留下隐藏的工作目录   在表的数据目录中。以前,这个隐藏的工作   目录名为.impala_insert_staging。在Impala 2.0.1和   之后,此目录名称将更改为_impala_insert_staging   (虽然预计HDFS工具会以对象开头处理名称   下划线和点隐藏,在实践名称中以。开头   下划线得到更广泛的支持。)