apache-spark - 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()
解决方案
你可以做
targetdf = targetdf.withColumnRenamed("Employee_id", "ID")
在写入 Oracle 数据库之前。映射基于列名。
推荐阅读
- algorithm - 算法介绍 Ch-11 Q-11.2.4
- python - 如何从列表中选择只有 6 列的数据框
- c - 为什么在系统调用位上左移?
- swift - 无密码电子邮件身份验证 Firebase、动态链接 (FDL)
- java - 带有请求参数的 RestTemplate POST 请求
- redux - RXJS 6.x 中的 ImmutableJS 和 Redux Observable
- python - 更新熊猫中的整个excel行
- javascript - 如何根据选择自动完成输入?
- ios - iOS/Swift:尝试将协议方法添加到 UIView 的按钮告诉我我的方法没有暴露给目标 C
- http - Golang http.PostParam 未在响应中显示所有 Cookie