民间,
我写了一个pyspark程序,它读取json文件并将其转换为数据帧。我面临的问题是当我尝试强制转换和重命名一个恰好是保留关键字的列时。列parent.sub。 GROUP (组是保留字)
实施例
==> option 1
tempvar2 ="`parent.sub.group`" + ".cast(string).alias(parent_sub_group)"
==> option 2
tempvar2="\"parent.sub.group\"" + ".cast(string).alias(parent_sub_group)"
#pass the variable into select
dataframe2 = dataframe1.select(tempvar2)
奇怪的是,如果我双引号列名称它在pyspark shell中工作正常。如果它在shell中工作,它也应该适用于我的程序,但我发现很难弄清楚我错过了什么。任何帮助/领导将不胜感激
我也试过以下
dataframe2= dataframe2.selectExpr("cast (parent.sub.group as string) communities_association_group" )
dataframe2 = dataframe2.selectExpr("cast (\"parent.sub.group\" as string) communities_association_group" )
dataframe2 = dataframe1.selectExpr("cast (\"`parent.sub.group`\" as string) communities_association_group" )
dataframe2 = dataframe2.selectExpr("cast (`parent.sub.group` as string) communities_association_group" )
Spark版本:1.6