我有一个.csv文件,其格式为有一个(第一个)列/单元格,我的hive表中需要的五个字段用分号分隔;像这样:
ISBN;"Title";"Author";"Year";"Publisher"
0002005018;"Clara Callan";"Richard Bruce Wright";"2001";"HarperFlamingo Canada"
0399135782;"The Kitchen God's Wife";"Amy Tan";"1991";"Putnam Pub Group"
etc.
etc.
...
我可以使用Hive查询来分割数据;并将其存储在我使用相同的列名顺序创建的表中?
喜欢regexp_extract?或者我需要使用serde吗?
我是Hadoop / hive / beeswax的新手,正在使用Cloudera-quickstart vm 5.2
答案 0 :(得分:1)
听起来你想做这样的事情:
CREATE TABLE books (ISBN STRING, Title STRING, Author STRING, Year STRING, Publisher STRING)
ROW FORMAT DELIMITED FIELDS TERMINATED BY "\;";
LOAD DATA INPATH '/path/to/your/datafile' INTO TABLE books;