我正在尝试使用“|”加载本地文件将分隔值分隔到hive表中,我们通常会创建一个带有“ROW FORMAT DELIMITER”|“。”的表。但我想创建一个普通的表并加载数据。我需要使用的语法是什么,请提示。
工作守则
CREATE TABLE IF NOT EXISTS testdb.TEST_DATA_TABLE
( column1 string,
column 2 bigint,
)ROW FORMAT DELIMITED FIELDS TERMINATED BY '|';
LOAD DATA LOCAL INPATH 'xxxxx.csv' INTO TABLE testdb.TEST_DATA_TABLE;
但是我想这样做:
CREATE TABLE IF NOT EXISTS testdb.TEST_DATA_TABLE
( column1 string,
column 2 bigint,
);
LOAD DATA LOCAL INPATH 'xxxxx.csv' INTO TABLE testdb.TEST_DATA_TABLE FIELDS TERMINATED BY '|';
原因开始:如果我创建一个表,HDFS将使用“|”将数据存储在表中分隔符
使用第二个DDL,Hive will create default formatted table like Textformat,orc,parquet..etc(as per your configuration)
使用cntrl+A
分隔文件(hive中的默认分隔符)。
如果你想用管道分隔存储hdfs file
那么我们需要create Hive Table in Text with | delimiter
。
(要么)
您也可以使用管道分隔符将选择查询的结果写入local (or) HDFS
路径。