通过从hdfs读取.csv文件在配置单元中创建表时出现问题。查询如下:
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';
获取时出错。元数据错误:
元异常(message:hdfs://pc:8020/user/hadoop/cloudera/ameeth/ca\u email.csv不是目录或无法创建目录)
有人能帮我吗。实际上,我想在.sql文件中运行这样的语句作为作业
4条答案
按热度按时间w8rqjzmb1#
在hdfs上创建一个目录,并将您的ca\u email.csv移到其中,然后将该目录指定为create external table命令的位置。
x0fgdtte2#
走这条路
在cloudera中找到metastore\u db文件夹并删除*.lck文件
命令sudo rm/folder\u path/metastore\u db/*.lck
9rygscc13#
配置单元将拾取您在位置中指定的目录中的所有文件。您不需要指定文件名。
这应该起作用:
hzbexzde4#
我也有同样的问题。
我将csv文件更改为制表符分隔的文本文件,将该文件移动到hdfs,并通过加载相同的结果来创建hive表。
您可以在hdfs中查看该文件,以确保已按预期将数据按选项卡分隔并加载到配置单元表中