从DB2表中阅读名称包含特殊字符的列到Spark中

ahy6op9u  于 2022-11-07  发布在  DB2
关注(0)|答案(1)|浏览(198)

我需要从DB2表中读取数据到spark Dataframe 中。但是,名为'TAB#15'的DB2表中有2列包含特殊字符,名称为MYCRED#和MYCRED$。
我的pyspark代码看起来像这样:

query = '''select count(1) as cnt from {table} as T'''.format(table=table)
my_val = spark.read.jdbc(url, table=query, properties).collect()

但是,我的spark-submit抛出了一个如下所示的错误:“错误:u”\n外部输入'#'应该是...“
我的问题是:
1.是否可以从表名和列名都有特殊字符(如'#'和'$')的DB2表中将数据读入Spark Dataframe ?
1.如果有任何代码示例/类似的问题,可以说明从列名中有特殊字符的列阅读DB2表数据的上述要求,请向他们指出。

3pmvbmvn

3pmvbmvn1#

尝试使用类似于

table = '"MYDB2Specifier.TAB#15"'

标识符有双引号。如果省略它们,所有内容都将大写。如果字符串有特殊字符,如$,您可能需要对字符进行转义。

相关问题