无法在HIVE中创建表从HDFS读取CSV

Blu*_*ale 8 hadoop hive hdfs

通过从HDFS读取.csv文件在Hive中创建表时遇到问题.查询如下:

CREATE EXTERNAL TABLE testmail (memberId String , email String, sentdate String,actiontype String, actiondate String, campaignid String,campaignname String)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' 
LOCATION '/user/hadoop/cloudera/ameeth/ca_email.csv';
Run Code Online (Sandbox Code Playgroud)

得到错误.元数据错误:

MetaException(消息:hdfs:// PC:8020/user/hadoop/cloudera/ameeth/ca_email.csv不是目录或无法创建目录)

任何人都可以帮助我.实际上我想在.sql文件中运行这样的staments作为工作

Abh*_*hak 14

Hive会获取您在LOCATION中指定的目录中的所有文件.您无需指定文件名.

这应该工作:

CREATE EXTERNAL TABLE testmail (memberId String , email String, sentdate String,actiontype String, actiondate String, campaignid String,campaignname String) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' LOCATION '/user/hadoop/cloudera/ameeth';
Run Code Online (Sandbox Code Playgroud)

  • 愚蠢的我,愚蠢的我。您正在发出从 LOCAL INPATH 加载数据的命令。因此,hive 尝试在本地文件系统上查找路径,而不是在 HDFS 上。如果要指定 HDFS 路径,请使用 INPATH 而不是 LOCAL INPATH。 (2认同)
  • hive如何找出要加载的文件如果两个文件(.txt)位于同一位置 (2认同)