Presto:使用一些默认值创建新列

Presto: Create new columns with some default values

我的数据没有标签和源列,我想在数据中添加新的标签和源列。但是,这些值是固定的,哪一行获得哪个值并不重要。

我要添加列标签 = ('A', 'B', 'C') 和来源 = ('X', 'Y', 'Z')

数据已经超过 500 行,我只想让新列任意取这 3 个值中的任何一个。有办法吗?

据我所知,您想读取数据,随机投影额外的 labelsource 列。

您可以通过使用 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 上测试)