【发布时间】:2019-05-26 21:47:01
【问题描述】:
enter image description here我能够在 juypter notebook 中本地运行我的 Pyspark 代码时连接到 MYSQL,但是我在运行代码时在 AWS Glue 中遇到了通信错误。在 AWS Glue 中创建作业时,我在所需的 jar 文件中添加了 MySQL jar。
从 MYSQL 读取
dataframe_mysql = sqlContext.read.format("jdbc").option("url", "jdbc:mysql://localhost/read").option("driver", "com.mysql.jdbc.Driver" ).option("dbtable", "student").option("user", "root").option("password", "root").load()
写入 MYSQL
df = sc.parallelize([[25, 'Prem'],
[20, 'Kate'],
[20, 'Kate'],
[40, 'Cheng']]).toDF(["Depy_id","Dept_name"])
df.write.format('jdbc').options(
url='jdbc:mysql://localhost/test',
driver='com.mysql.jdbc.Driver',
dbtable='dept',
user='root',
password='root').mode('overwrite').save()
【问题讨论】:
-
能否在connections下测试一下连接是否成功?
-
我没听懂。测试连接下的连接是什么意思。
-
AWS Glue 控制台 -> 数据库 -> 连接 -> 选择为 ETL 作业创建的连接 -> 单击测试连接。您可以按照此导航测试连接。
-
我的工作是由自定义编写的 pyspark 脚本创建的。我没有在 AWS 中建立任何连接。
-
您能否创建一个,将其添加到您的 Glue 作业并重试运行该作业。
标签: amazon-web-services pyspark pyspark-sql aws-glue aws-glue-data-catalog