Presto:使用一些默认值创建新列
Presto: Create new columns with some default values
我的数据没有标签和源列,我想在数据中添加新的标签和源列。但是,这些值是固定的,哪一行获得哪个值并不重要。
我要添加列标签 = ('A', 'B', 'C')
和来源 = ('X', 'Y', 'Z')
数据已经超过 500 行,我只想让新列任意取这 3 个值中的任何一个。有办法吗?
据我所知,您想读取数据,随机投影额外的 label
和 source
列。
您可以通过使用 random
添加投影来完成此操作,例如
ARRAY['A', 'B', 'C'][1 + random(3)] AS label
source
相同
示例:
presto:default> SELECT *, ARRAY['A', 'B', 'C'][1 + random(3)] AS label
-> FROM (VALUES 1,2,3,4) t(data);
data | label
------+-------
1 | C
2 | A
3 | B
4 | B
(4 rows)
(在 Presto 322 上测试)
我的数据没有标签和源列,我想在数据中添加新的标签和源列。但是,这些值是固定的,哪一行获得哪个值并不重要。
我要添加列标签 = ('A', 'B', 'C') 和来源 = ('X', 'Y', 'Z')
数据已经超过 500 行,我只想让新列任意取这 3 个值中的任何一个。有办法吗?
据我所知,您想读取数据,随机投影额外的 label
和 source
列。
您可以通过使用 random
添加投影来完成此操作,例如
ARRAY['A', 'B', 'C'][1 + random(3)] AS label
source
相同
示例:
presto:default> SELECT *, ARRAY['A', 'B', 'C'][1 + random(3)] AS label
-> FROM (VALUES 1,2,3,4) t(data);
data | label
------+-------
1 | C
2 | A
3 | B
4 | B
(4 rows)
(在 Presto 322 上测试)