Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/12.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 web services AWS数据管道发电机至红移_Amazon Web Services_Amazon Dynamodb_Amazon Redshift_Amazon Data Pipeline - Fatal编程技术网

Amazon web services AWS数据管道发电机至红移

Amazon web services AWS数据管道发电机至红移,amazon-web-services,amazon-dynamodb,amazon-redshift,amazon-data-pipeline,Amazon Web Services,Amazon Dynamodb,Amazon Redshift,Amazon Data Pipeline,我有一个问题: 我需要将数据从DynamoDB迁移到Redshift。问题是我收到了这样的例外情况: 错误:不支持的数据类型:当前版本仅支持字符串和数字详细信息:-----------------------------错误:不支持的数据类型:当前版本仅支持字符串和数字代码:9005上下文:表名=用户会话查询:446027位置:复制\u dynamodb\u扫描仪。cpp:199进程:查询0\u 124\u 446027[pid=25424]---------------------------

我有一个问题: 我需要将数据从DynamoDB迁移到Redshift。问题是我收到了这样的例外情况:

错误:不支持的数据类型:当前版本仅支持字符串和数字详细信息:-----------------------------错误:不支持的数据类型:当前版本仅支持字符串和数字代码:9005上下文:表名=用户会话查询:446027位置:复制\u dynamodb\u扫描仪。cpp:199进程:查询0\u 124\u 446027[pid=25424]-----------------------------------------------

在我的Dynamo项目中,我有布尔字段。如何将字段从布尔修改为INT(例如)? 我试图将其用作VARCHAR(5),但没有任何帮助(因此在Github中使用一张罚单而没有响应)


非常感谢您的建议。

作为解决方案,我先将数据从DynamoDB迁移到S3,然后再迁移到Redshift

  • 我在DynamoDB中使用了导出到S3的内置功能。它将所有数据以*.json文件的形式快速保存到S3中(但不排序)
  • 之后,我使用ETL脚本,使用Glue作业和自定义脚本以及pyspark来处理数据并将其保存到Redshift中
  • 也可以使用Glue crawler来定义模式,但仍然需要验证其结果,因为有时它是不正确的

    如果您不使用ONDEMAND读/写,那么使用爬虫程序直接解析DynamoDB对您的表来说是过度的,因此更好的方法是使用S3中的数据