gpt4 book ai didi

hadoop - 在将数据加载到配置单元中时从字段中删除周围的引号

转载 作者:可可西里 更新时间:2023-11-01 15:00:41 26 4
gpt4 key购买 nike

我想将包含输入数据的表加载到配置单元中。我有以下格式的数据。

"153662";"0002241447";"0"
"153662";"000647036X";"0"
"153662";"0020434901";"0"
"153662";"0020973403";"0"
"153662";"0028604202";"0"
"153662";"0030437512";"0"

我想将这些数据加载到一个包含两个 varchar 列和一个 int 列的表中。但是周围的双引号让我很困扰。我创建了下表。

CREATE EXTERNAL TABLE Table(A varchar(50),B varchar(50),C varchar(50))
ROW FORMAT DELIMITED
FIELDS TERMINATED BY '\;'
LINES TERMINATED BY '\n'

STORED AS TEXTFILE

但字段周围的引号也成为字段的一部分,如下所示。

"276725"    "034545104X"    "0"
"276726" "0155061224" "5"

我想忽略它们。我还希望第三个字段被读取为 INT。目前,当我在制作表格时提供第三个字段作为 INT 时,它变为 NULL。

最佳答案

您将不得不使用 Csv-Serde为此。

CREATE TABLE Table(A varchar(50),B varchar(50),C varchar(50))
ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.OpenCSVSerde'
WITH SERDEPROPERTIES
(
"separatorChar" = ";",
"quoteChar" = "\""
)
STORED AS TEXTFILE;

关于hadoop - 在将数据加载到配置单元中时从字段中删除周围的引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38617824/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com