Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon s3 雪花-从S3复制,但包含加载日期_Amazon S3_Snowflake Cloud Data Platform - Fatal编程技术网

Amazon s3 雪花-从S3复制,但包含加载日期

Amazon s3 雪花-从S3复制,但包含加载日期,amazon-s3,snowflake-cloud-data-platform,Amazon S3,Snowflake Cloud Data Platform,我想从S3加载一个文件,但在加载时,我想在snowflake表中添加一个加载日期/时间。我该怎么做 我的代码当前正在执行以下操作: 复制到“数据库”“公用”“表名” 来自@S3_RAW/FILENAME.csv 文件格式='数据库','公共','CSV',错误='继续'清除=错误 我要复制到的表名有一个额外的列,名为LoadDateTime,我只想在加载时填充它—这可能吗 Cheers雪花复制到表格命令有两个“变体”,第一个是“标准”,第二个是“带转换” 您可以在创建表时使用默认值定义列,在“转

我想从S3加载一个文件,但在加载时,我想在snowflake表中添加一个加载日期/时间。我该怎么做

我的代码当前正在执行以下操作: 复制到“数据库”“公用”“表名” 来自@S3_RAW/FILENAME.csv 文件格式='数据库','公共','CSV',错误='继续'清除=错误

我要复制到的表名有一个额外的列,名为LoadDateTime,我只想在加载时填充它—这可能吗


Cheers

雪花复制到表格命令有两个“变体”,第一个是“标准”,第二个是“带转换”

您可以在创建表时使用默认值定义列,在“转换”类型的“复制到”命令中的“复制到”命令中将使用默认值,如以下示例中所示:

# create a table
CREATE OR REPLACE TABLE my_csv_data (
    id   INTEGER,
    str  VARCHAR(100),
    dt   TIMESTAMP_LTZ DEFAULT CURRENT_TIMESTAMP);

# create a file to load - call it my_csv_data.csv
id,str
1,"Hello World"
2,"lots of good stuff"
3,"goodbye"

# put the file up into your internal stage 
PUT file://~/my_csv_data.csv @~/testing123/my_csv_data.csv auto_compress=false;

# this unfortunately puts a NULL value in dt :-(
COPY INTO rich_db.rich_schema.my_csv_data
  FROM @~/testing123/my_csv_data.csv 
  FILE_FORMAT = (type = 'CSV' field_optionally_enclosed_by='"' SKIP_HEADER = 1 error_on_column_count_mismatch=false )
  on_error = 'continue';

# but this works, 3 records created with default timestamps :-) 
COPY INTO rich_db.rich_schema.my_csv_data (id, str)
  FROM (SELECT $1, $2 FROM @~/testing123/my_csv_data.csv )
  FILE_FORMAT = (type = 'CSV' field_optionally_enclosed_by='"' SKIP_HEADER = 1)
  ON_ERROR = 'continue';
链接到文档:

我希望这有助于…Rich

p、 如果这个(或另一个)答案对你有帮助,请花点时间“接受”这个有帮助的答案 单击答案旁边的复选标记,将其从“灰显”切换到“填充”