带aws数据管道的默认datetime

vngu2lb8  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(461)

我们使用数据管道将数据从s3推送到amazonredshift表。我们使用json推送数据

  1. {
  2. "jsonpaths": [
  3. "$['data1']",
  4. "$['data1']",
  5. "$['data1']['data1']",
  6. "$['data1']['data1']",
  7. "$['data1']['data1']",
  8. "$['data1']['data1']",
  9. "$['data1']",
  10. "$['data1']",
  11. "$['data1']",
  12. "$['data1']['data1']",
  13. "$['data1']['data1']"
  14. ]}

我最近想在我的红移表中添加created\u at,它应该使用当前的时间戳。我已经在我的红移表中添加了默认值为当前时间戳的列。我没有在这个列的jsonMap文件中定义(原因很明显)。但管道无法说明列数和jsonMap不匹配。我试过阅读多个文档,但没有找到合适的解决方案。有谁能帮助我如何使用aws数据管道从s3向redshift表插入默认的当前时间戳吗?

lnlaulya

lnlaulya1#

有选择的余地 copy 命令来指定要填充数据的列,我们在etl中使用这些列来填充任何 default 的值 skipped columns .

  1. COPY my_tablename
  2. (C1
  3. ,C2
  4. ,C3,...
  5. )
  6. FROM 's3://<<YOUR-BUCKET>>/<<YOUR-FILE>>'
  7. credentials 'aws_access_key_id=<access-key-id>;aws_secret_access_key=<secret- access-key>';

所以我可以在下面这样的管道中应用同样的方法,虽然我没有测试过这个解决方案,

  1. copy My_table(C1,C2,C3,...)
  2. from 's3://mybucket/category_object_paths.json'
  3. iam_role 'arn:aws:iam::0123456789012:role/MyRedshiftRole'
  4. json 's3://mybucket/category_jsonpath.json';

评论后编辑
transformSql 您可以使用的选项 RedshiftCopyActivity 复制选定列。
这是参考资料,http://docs.aws.amazon.com/datapipeline/latest/developerguide/dp-object-redshiftcopyactivity.html

展开查看全部

相关问题