使用pySpark将DataFrame写入mysql表

Que*_*ank 10 python mysql apache-spark apache-spark-sql pyspark

我试图将记录插入MySql表中.该表包含idname作为列.

我在pysparkshell中做如下所示.

name = 'tester_1'
id = '103'  
import pandas as pd
l = [id,name]

df = pd.DataFrame([l])

df.write.format('jdbc').options(
      url='jdbc:mysql://localhost/database_name',
      driver='com.mysql.jdbc.Driver',
      dbtable='DestinationTableName',
      user='your_user_name',
      password='your_password').mode('append').save()
Run Code Online (Sandbox Code Playgroud)

我收到以下属性错误

AttributeError: 'DataFrame' object has no attribute 'write'

我究竟做错了什么?将记录插入MySql表中的正确方法是什么?pySpark

mrs*_*vas 10

使用Spark DataFrame而不是pandas',.write仅在Spark Dataframe上可用

所以最终的代码可能是

data =['103', 'tester_1']

df = sc.parallelize(data).toDF(['id', 'name'])

df.write.format('jdbc').options(
      url='jdbc:mysql://localhost/database_name',
      driver='com.mysql.jdbc.Driver',
      dbtable='DestinationTableName',
      user='your_user_name',
      password='your_password').mode('append').save()
Run Code Online (Sandbox Code Playgroud)