如何在PySpark Oracle JDBC连接中将编码设置为UTF16



我正试图将数据从Oracle加载到Databricks,但我在PySpark中遇到了Unicode字符问题——它无法按照Oracle中可用的格式对Unicode字符进行编码——事实上,它将替换字符显示为'▯'.在oracle中,NLS_NCHAR_NCHARACTERSET=AL16UTF16。

我尝试过在oracleNCHAR或NVARCHAR列中插入国家字符不起OracleJDBC系统属性的作用,但在我的情况下不起作用。我请求你提供一个替代方案来解决这个问题。

选项1-使用spark:读取数据时使用jdbc选项

spark.read.format("jdbc")...option("useUnicode", true).option("characterEncoding", "UTF-16")

选项2-使用正确的连接字符串:

url = "...?useUnicode=true&characterEncoding=UTF-16"
spark.read.format("jdbc").option("url", url)

最新更新