【发布时间】:2020-10-13 21:56:00
【问题描述】:
我正在尝试将 csv 文件加载到 Hive 表中。我需要通过 HDFS 完成。
我的最终目标是让 Hive 表也连接到 Impala 表,然后我可以将其加载到 Power BI 中,但是我无法填充 Hive 表。
我使用以下代码在 Hive 查询编辑器中创建了一个表:
CREATE TABLE IF NOT EXISTS dbname.table_name (
time_stamp TIMESTAMP COMMENT 'time_stamp',
attribute STRING COMMENT 'attribute',
value DOUBLE COMMENT 'value',
vehicle STRING COMMENT 'vehicle',
filename STRING COMMENT 'filename')
然后我使用以下代码检查并查看 LOCATION:
SHOW CREATE TABLE dbname.table_name;
并发现它已转到默认位置: hdfs://our_company/user/hive/warehouse/dbname.db/table_name
于是我转到HDFS中的上述位置,手动上传了几个csv文件,这些文件与我创建的表的五列格式相同。这是我希望将这些数据加载到 Hive 表中的地方,但是当我回到 Hive 中的 dbname 并打开我创建的表时,所有值仍然为空,当我尝试在浏览器中打开时,我得到:
数据库错误 AnalysisException:无法解析路径:'dbname.table_name'
然后我尝试以下代码:
LOAD DATA INPATH 'hdfs://our_company/user/hive/warehouse/dbname.db/table_name' INTO TABLE dbname.table_name;
它运行良好,但 Hive 中的表仍未填充。
我还尝试使用 CREATE EXTERNAL TABLE 代替上述所有方法,并在 LOCATION 参数中指定 HDFS。我还尝试先创建一个 HDFS 位置,上传 csv 文件,然后使用指向预制 HDFS 位置的 LOCATION 参数创建外部表。
我已经确定我有授权权限。
无论我尝试哪种方法,我的表格都不会填充 csv 文件。
我在这里做错了什么?
【问题讨论】:
标签: csv hadoop hive hdfs hiveql