我需要从MongoDB导入一个包含大小写混合字段名的表。例如:
文件一:
_id:100 account_id:1001 abc:“asd”
文件二:
_id:201 ACTRONIC_ID:1023 XYZ:“qwe”
当我在Databricks中执行以下代码时,我遇到以下错误:
[COLUMN_ALREADY_EXISTS]列“account_id”已存在。请考虑选择其他名称或重命名现有列。
下面是我使用的代码:
from cb_databricks.predefined import spark
mongo_df = (
spark.read.format("mongo")
.option("database", database)
.option("collection", mongo_table)
.option("spark.mongodb.input.uri", connect_string)
.load()
)
mongo_df.write.mode("overwrite").option("overwriteSchema", "true").saveAsTable("databricks_table")
字符串
当从MongoDB阅读数据到Databricks中时,如何修改此代码或设置适当的选项来处理不区分大小写的字段名称?
1条答案
按热度按时间q43xntqr1#
您可以将
spark.sql.caseSensitive
Spark配置设置为"true"
:字符串
但是下游的消费者也需要使用它,最好有一些代码来规范化名称。