我需要執行動態聯盟聲明這是陷害並存儲在字符串變量。我陷害了聯合聲明,但與執行語句。有人知道如何執行聯合聲明存儲在字符串變量?我在磚使用pyspark筆記本。
df1 = df.filter((坳(vchDataSection) = =“AccountMasterInfo”) &(坳(bActive) = = 1))。withColumn (dfs, concat(點燃(“.union (df)、坳(“iRuleid”),點燃())))
df2 = df1.agg (concat_ws (" ", collect_list (col (dfs))))。withColumnRenamed (“concat_ws (, collect_list (dfs))”“AccInfoRules”) .withColumn (“replacestr”,點燃(" "))
df3 = df2.select(覆蓋(“AccInfoRules”、“replacestr”, 1、7) .alias(“功能”))
var_a = df3.collect ()
var_a = var_a [0] . __getitem__(功能)
var_b = var_a.replace (‘)’,”1)
打印(var_b)
o / p: df533.union (df534) .union (df535) .union (df536)
@Dineshkumar Gopalakrishnan使用python的exec()函數可以用來執行python語句,在你的情況中可以pyspark聯合聲明。請參考下麵的示例代碼片段,供您參考。
df1 = spark.sparkContext。並行化([(1、2、“1”、“2”、“3”),(1,3,(“4”、“1”、“5”、“6”)),(2,4,(“2”)),(2、5、[3])))。toDF([“商店”,“數”,“價值觀”)df2 = spark.sparkContext。並行化(((3 2 (“1”、“2”、“3”),(3 3 (“4”、“1”、“5”、“6”)),(4 4 (“2”)),(4、5、[3])))。toDF([“商店”,“數”,“價值觀”)union_statment =“df = df1.union (df2)“exec (union_statment)
上麵的代碼將執行pyspark聯盟df1 df2和api將結果分配給dataframe“df”。
你可以有更複雜的聯盟語句作為動態字符串的一部分
@Dineshkumar Gopalakrishnan使用python的exec()函數可以用來執行python語句,在你的情況中可以pyspark聯合聲明。請參考下麵的示例代碼片段,供您參考。
df1 = spark.sparkContext。並行化([(1、2、“1”、“2”、“3”),(1,3,(“4”、“1”、“5”、“6”)),(2,4,(“2”)),(2、5、[3])))。toDF([“商店”,“數”,“價值觀”)df2 = spark.sparkContext。並行化(((3 2 (“1”、“2”、“3”),(3 3 (“4”、“1”、“5”、“6”)),(4 4 (“2”)),(4、5、[3])))。toDF([“商店”,“數”,“價值觀”)union_statment =“df = df1.union (df2)“exec (union_statment)
上麵的代碼將執行pyspark聯盟df1 df2和api將結果分配給dataframe“df”。
你可以有更複雜的聯盟語句作為動態字符串的一部分
神奇的@Dineshkumar葛
請點擊“選擇最佳”按鈕,如果你發現提供的信息幫助解決你的問題。