以下代码忽略了 csv 文件中的标题,并将模式推断为 c1、c2、c3。标题列仅作为另一行数据生成。以下是相关文件的示例数据
Series_reference Period Data_value Suppressed STATUS UNITS Magnitude Subject Group Series_title_1
BDCQ.SEA1AA 2011.06 80078 F Number 0 Business Data Collection - BDC Industry by employment variable Filled jobs
create or replace file format mybusinesscsv
type = csv
RECORD_DELIMITER = '\n'
skip_header = 0;
SELECT *
FROM TABLE(
INFER_SCHEMA(
LOCATION=>'@quarterdatastg/employment_1.csv.gz',
file_format=>'mybusinesscsv'
)
);
文档中涵盖了这一点:https ://docs.snowflake.com/en/sql-reference/functions/infer_schema#usage-notes
尼克指出的一点是该
'parse header'
选项也是必需的。我们有两种文件格式,一种用于 LOAD,另一种用于 INFER 阶段:
因此 INFER 如下:
以及在 COPY 中的使用情况,例如: