COPY INTO Snowflake Table 并将额外列作为定义值
COPY INTO Snowflake Table with Extra Columns as a defined value
我有一个 table 在 Snowflake 中定义为:
table1
COL1 VARCHAR(16777216)
COL2 VARCHAR(16777216)
tablename VARCHAR(16777216)
和如下所示的 csv 文件(只有 2 列):
table1.csv
COL1
COL2
我想将所有列从“table1.csv”复制到“table1”雪花 table,因此 COL1 和 COL2 的数据将从 csv 复制到雪花 table 和“tablename”列应为“table1”(文件名)
我复制到命令中是这样的:
copy into table1
from @snowflake_stage
file_format = (type = 'CSV' skip_header = 1 FIELD_OPTIONALLY_ENCLOSED_BY = '"'
validate_utf8 = FALSE error_on_column_count_mismatch=false)
on_error = CONTINUE;
COL1 和 Col2 的数据已从 csv 成功加载到雪花 table,但 tablename 列为 NULL。我希望 tablename 列的所有行都具有值“table1”。
Snowflake 自动为文件生成元数据列。
您可以使用 METADATA$FILENAME
.
它将包含完整路径,您可以存储完整路径或使用 SUBSTRING
命令获取没有路径或扩展名的文件名
我有一个 table 在 Snowflake 中定义为:
table1
COL1 VARCHAR(16777216)
COL2 VARCHAR(16777216)
tablename VARCHAR(16777216)
和如下所示的 csv 文件(只有 2 列):
table1.csv
COL1
COL2
我想将所有列从“table1.csv”复制到“table1”雪花 table,因此 COL1 和 COL2 的数据将从 csv 复制到雪花 table 和“tablename”列应为“table1”(文件名)
我复制到命令中是这样的:
copy into table1
from @snowflake_stage
file_format = (type = 'CSV' skip_header = 1 FIELD_OPTIONALLY_ENCLOSED_BY = '"'
validate_utf8 = FALSE error_on_column_count_mismatch=false)
on_error = CONTINUE;
COL1 和 Col2 的数据已从 csv 成功加载到雪花 table,但 tablename 列为 NULL。我希望 tablename 列的所有行都具有值“table1”。
Snowflake 自动为文件生成元数据列。
您可以使用 METADATA$FILENAME
.
它将包含完整路径,您可以存储完整路径或使用 SUBSTRING
命令获取没有路径或扩展名的文件名