在snowflake中创建表时将值列表存储为字符串



我正在尝试创建一个5列表。COLUMN #2 (PROGRESS)是一个逗号分隔的列表(即1,2,3,4等),但是当试图将此表创建为字符串,变体或varchar时,Snowflake拒绝允许这样做。关于如何从CSV创建列分隔列表的任何建议?我尝试导入数据作为TSV, XML,以及JSON文件,但没有成功。

create or replace TABLE AD_HOC.TEMP.NEW_DATA (
VISITOR_ID VARCHAR(16777216),
PROGRESS   VARCHAR(16777216),
DATE DATETIME,
ROLE VARCHAR(16777216),
FIRST_VISIT DATETIME
)COMMENT='Interaction data'
;

目标:

VISITOR_ID | PROGRESS  | DATE      | ROLE  | FIRST_VISIT 
111        | [1,2,3]   | 1/1/2022  | OWNER | 1/1/2021
123        | [1]       | 1/2/2022  | ADMIN | 2/2/2021
23321      | [1,2,3,4] | 2/22/2022 | USER  | 3/12/2021

我用python对列进行编码,并在Snowflake中加载数据!

from sklearn.preprocessing import MultiLabelBinarizer
mlb = MultiLabelBinarizer()
df = doc_data.join(pd.DataFrame(mlb.fit_transform(doc_data.pop('PROGRESS')),
columns=mlb.classes_,
index=doc_data.index))
df

最新更新