首页 > 解决方案 > Apache Spark 中 DataFrame 写入格式 JDBC 中的列映射

问题描述

我能够将数据框记录加载到 Oracle 数据库中而不会出现任何错误,但我想知道如何将 Df 中的列映射到 Oracle

我想以 JDBC 写入格式将 DataFrame 中的 Employee_id 字段映射到 Oracle 中的 ID 列。

列映射:

df          ---------- Oracle
Employee_id ----------    ID


targetdf=spark.sql(final_sql)

targetdf.show()

targetdf.write \
   .format("jdbc") \
   .option("url", "jdbc:oracle:thin:@***************") \
   .option("driver", "oracle.jdbc.driver.OracleDriver") \
   .option("dbtable", target_table) \
   .option("user", "hr") \
   .option("password", "******") \
   .mode('append').save()

标签: apache-sparkjdbcpyspark

解决方案


你可以做

targetdf = targetdf.withColumnRenamed("Employee_id", "ID")

在写入 Oracle 数据库之前。映射基于列名。


推荐阅读