如果AWS Glue作业在DynamoDB和MySQL上成功执行,但是数据没有被正确加载,可以尝试以下解决方法:
确保表和数据库正确配置:检查DynamoDB表和MySQL数据库是否正确创建,并且具有正确的表结构和字段。
检查数据源连接:确保AWS Glue作业的数据源连接正确设置。可以尝试重新创建数据源连接并验证连接的正常性。
检查数据迁移逻辑:确保AWS Glue作业中的数据迁移逻辑正确。比如,检查是否正确地执行了数据的读取和写入操作。
以下是一个简单的Python代码示例,展示了如何在AWS Glue中读取数据从DynamoDB并写入到MySQL:
import sys
from awsglue.transforms import *
from awsglue.utils import getResolvedOptions
from pyspark.context import SparkContext
from awsglue.context import GlueContext
from awsglue.job import Job
# 初始化SparkContext和GlueContext
sc = SparkContext()
glueContext = GlueContext(sc)
spark = glueContext.spark_session
job = Job(glueContext)
# 从DynamoDB读取数据
datasource = glueContext.create_dynamic_frame.from_catalog(database = "your-database-name", table_name = "your-dynamodb-table-name")
# 数据转换和处理逻辑
# ...
# 将数据写入MySQL
glueContext.write_dynamic_frame.from_jdbc_conf(frame = datasource, catalog_connection = "your-jdbc-connection-name", connection_options = {"dbtable": "your-mysql-table-name", "database": "your-mysql-database-name"})
# 提交作业并等待完成
job.commit()
确保在上述代码中正确填入了DynamoDB表名、MySQL表名、数据库名以及JDBC连接名。
请注意,上述代码示例仅提供了一个基本的框架,实际的数据转换和处理逻辑需要根据具体的需求进行自定义。