gpt4 book ai didi

hadoop - 在配置单元中使用外部表支持数组列类型的最佳方法是什么?

转载 作者:可可西里 更新时间:2023-11-01 14:19:03 25 4
gpt4 key购买 nike

所以我有制表符分隔数据的外部表。一个简单的表格如下所示:

create external table if not exists categories
(id string, tag string, legid string, image string, parent string, created_date string, time_stamp int)
ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t'
LOCATION 's3n://somewhere/';

现在我要在末尾添加另一个字段,它将是一个逗号分隔的值列表。

有没有一种方法可以像指定字段终止符一样指定它,或者我必须依赖其中一个 serdes?

例如:

...list_of_names ARRAY<String>)
ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' ARRAY ELEMENTS SEPARATED BY ','
...

(我假设我需要为此使用 serde,但我认为询问没有任何坏处)

最佳答案

我不知道如何更新现有的表来做到这一点,但是为了创建一个表;您正在寻找的内容可以在 https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL 找到,深入了解.那里的一个片段

row_format
: DELIMITED [FIELDS TERMINATED BY char] [COLLECTION ITEMS TERMINATED BY char]
[MAP KEYS TERMINATED BY char] [LINES TERMINATED BY char]

我们创建表的一个例子是

CREATE TABLE IF NOT EXISTS visits
(
... Columns Removed...
)
PARTITIONED BY (userdate STRING)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY '\001'
COLLECTION ITEMS TERMINATED BY '\002'
MAP KEYS TERMINATED BY '\003'
STORED AS TEXTFILE
;

您要查找的那一行是数组的 COLLECTION ITEMS TERMINATED BY char

第一个

关于hadoop - 在配置单元中使用外部表支持数组列类型的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6270084/

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