AWS Data Pipeline Dynamodb 到 Redshift
AWS Data Pipeline Dynamo to Redshift
我有一个问题:
我需要将数据从 DynamoDB 迁移到 Redshift。问题是我收到这样的异常:
ERROR: Unsupported Data Type: Current Version only supports Strings and Numbers Detail: ----------------------------------------------- error: Unsupported Data Type: Current Version only supports Strings and Numbers code: 9005 context: Table Name = user_session query: 446027 location: copy_dynamodb_scanner.cpp:199 process: query0_124_446027 [pid=25424] -----------------------------------------------
在我的 Dynamo 项目中,我有布尔字段。如何将字段从 Boolean 修改为 INT(例如)?
我尝试用作 VARCHAR(5),但没有帮助(所以它在 Github 中的一张票没有响应)
如有任何建议,我们将不胜感激。
作为解决方案,我先将数据从 DynamoDB 迁移到 S3,然后再迁移到 Redshift。
- 我在 DynamoDB 中使用了 Exports to S3 内置功能。它将所有数据作为 *.json 文件保存到 S3 中非常快(但未排序)。
- 之后我使用了 ETL 脚本,使用 Glue Job 和带有 pyspark 的自定义脚本来处理数据并将其保存到 Redshift。
也可以使用 Glue 爬虫来定义模式,但仍然需要验证其结果,因为有时它是不正确的。
如果您不使用 ONDEMAND read/write,则使用爬虫程序直接解析 DynamoDB 对您的表来说太过分了。所以更好的方法是使用来自 S3 的数据。
我有一个问题: 我需要将数据从 DynamoDB 迁移到 Redshift。问题是我收到这样的异常:
ERROR: Unsupported Data Type: Current Version only supports Strings and Numbers Detail: ----------------------------------------------- error: Unsupported Data Type: Current Version only supports Strings and Numbers code: 9005 context: Table Name = user_session query: 446027 location: copy_dynamodb_scanner.cpp:199 process: query0_124_446027 [pid=25424] -----------------------------------------------
在我的 Dynamo 项目中,我有布尔字段。如何将字段从 Boolean 修改为 INT(例如)? 我尝试用作 VARCHAR(5),但没有帮助(所以它在 Github 中的一张票没有响应)
如有任何建议,我们将不胜感激。
作为解决方案,我先将数据从 DynamoDB 迁移到 S3,然后再迁移到 Redshift。
- 我在 DynamoDB 中使用了 Exports to S3 内置功能。它将所有数据作为 *.json 文件保存到 S3 中非常快(但未排序)。
- 之后我使用了 ETL 脚本,使用 Glue Job 和带有 pyspark 的自定义脚本来处理数据并将其保存到 Redshift。
也可以使用 Glue 爬虫来定义模式,但仍然需要验证其结果,因为有时它是不正确的。
如果您不使用 ONDEMAND read/write,则使用爬虫程序直接解析 DynamoDB 对您的表来说太过分了。所以更好的方法是使用来自 S3 的数据。