我正在尝试创建一个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