配置单元查询csv文本分隔符问题

nhaq1z21  于 2021-06-02  发布在  Hadoop
关注(0)|答案(1)|浏览(326)

正在尝试在配置单元中导入以下数据。
姓名、电话、地址

Arverne,(718) 634-4784,"*312 Beach 54 Street 
Arverne, NY 11692
(40.59428994144626, -73.78442865540268)*"

Astoria,(718) 278-2220,"*14 01 Astoria Boulevard
Long Island City, NY 11102
(40.77152402451418, -73.92643545073543)*"

Auburndale,(718) 352-2027,"*25 55 Francis Lewis Boulevard
Flushing, NY 11358
(40.76035096822195, -73.79632645819947)*"

但是地址不正确,因此损坏了表数据,我猜行终止于的问题是(默认情况下,因为地址是3-4行),原因是当我在示例数据下面运行时

a,b,"e,f"

x,y,"l,m"

带以下查询

create table test(c1 string, c2 string, c3 string)
row format serde 'com.bizo.hive.serde.csv.CSVSerde'
with serdeproperties(
"separatorChar" = ",");

它的工作很好:
试验c1试验c2试验c3

a   b   c,d

e   f   g,z

我如何做到这一点?

3xiyfsfu

3xiyfsfu1#

我就是这样锻炼的。

>>> CREATE TABLE Test(name string, phone string, address string) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' STORED AS TEXTFILE;
>>> load data inpath 'file.csv' into table Test;

>>>  select name from hiveTest;
+-------------+--+
|    name     |
+-------------+--+
| Arverne     |
| Astoria     |
| Auburndale  |
+-------------+--+
>>> select address from hiveTest;
+--------------------------------------------+--+
|                  address                   |
+--------------------------------------------+--+
| "312 Beach 54 Street Arverne               |
| "14 01 Astoria Boulevard Long Island City  |
| "25 55 Francis Lewis Boulevard Flushing    |
+--------------------------------------------+--+

我想这有帮助。

相关问题