簡體   English   中英

無法加載。csv 數據從 hdfs 到 Z53EB3DCFBB4C210BCD4ZFE1A985D7C4 中的 Hive 表中

[英]Unable to load .csv data from hdfs into Hive table in Hadoop

我正在嘗試將 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

所以我把go到HDFS上面的位置,我手動上傳了幾個csv文件,和我創建的表格一樣的五列格式。 Here is where I expect this data to be loaded into the Hive table, but when I go back to dbname in Hive, and open up the table I made, all values are still null, and when I try to open in browser I get:

DB 錯誤 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 文件。

我在這里做錯了什么?

我能夠使用以下方法解決問題:

CREATE TABLE IF NOT EXISTS dbname.table_name (
    time_stamp STRING COMMENT 'time_stamp', 
    attribute STRING COMMENT 'attribute', 
    value STRING COMMENT 'value', 
    vehicle STRING COMMENT 'vehicle', 
    filename STRING COMMENT 'filename') 
    ROW FORMAT DELIMITED 
    FIELDS TERMINATED BY ',' 
    STORED AS TEXTFILE

LOAD DATA INPATH 'hdfs://our_company/user/hive/warehouse/dbname.db/table_name' OVERWRITE INTO TABLE dbname.table_name;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM