azure 在数据砖中创建具有非ASCII(希腊字符)的持久视图时的字符编码问题

n1bvdmb6  于 2023-10-22  发布在  其他
关注(0)|答案(1)|浏览(76)

我试着用一个简单的select语句创建一个持久化视图,这个语句只有一个希腊字符。

CREATE OR REPLACE VIEW misc.XX AS 
SELECT 'ΤΕΣΤ'

如果我尝试选择该视图,我会得到??而不是我打的那个字。

问题似乎是视图定义没有正确保存。

这里有什么变通办法吗?这个问题只发生在视图上,当写为表时,字符会按预期出现。

7rfyedvj

7rfyedvj1#

  • 我尝试了下面的解决方法,先创建一个表,然后创建一个引用该表的视图。
  • 我将希腊字符存储在一个表中,然后通过视图查询该数据。

  • 我还有一个使用pyspark在Azure Databricks中处理非ASCII字符(如希腊字符)的示例。
  • 在下面的代码中,我正在使用适当的编码设置将DataFrame写入一个表。
spark = SparkSession.builder \
    .appName("handling-non-ascii-characters") \
    .getOrCreate()
data = [('ΤΕΣΤ',)]
df = spark.createDataFrame(data, ['my_column'])
df.show()
df.write.option("encoding", "UTF-8").saveAsTable("misc.my_table02")
spark.sql("CREATE OR REPLACE VIEW misc.my_view02 AS SELECT my_column FROM misc.my_table02")
spark.sql("SELECT * FROM misc.my_view02").show()
spark.sql("DESCRIBE TABLE EXTENDED misc.my_table02").show()

相关问题