我隻是做了加入兩個數據幀和數據幀內容我可以打印。
這是代碼的樣子:-
df_silver =火花。sql(“選擇ds.PropertyID \
ds。*
從dfsilver ds加入dfaddmaster dm \
在ds。單位= dm.unit和ds。街道= dm.street和ds。house_number = dm.house_number”)
org.apache.spark。SparkException:工作階段失敗而終止:Task 4階段7.0失敗了4次,最近的失敗:在舞台上失去了任務4.3 7.0 (TID 1039)(10.2.43.201執行人1):org.apache.spark.api.python。PythonException:“pyspark.serializers。SerializationError:由回溯(最近的電話):
文件“/磚/火花/ python / pyspark /序列化器。在_read_with_length py”, 165行
返回self.loads (obj)
文件“/磚/火花/ python / pyspark /序列化器。py”, 466行,在負載
返回泡菜。負載(obj,編碼=編碼)
文件“/磚/ python / lib / python3.8 /網站/ address_matching / __init__。py”,第5行,在<模塊>
從address_matching。核心進口*
文件“/磚/ python / lib / python3.8 /網站/ address_matching /核心。py”, 49歲,在<模塊>
SparkSession.builder.appName (“AddressMatching”)
文件“/磚/火花/ python / pyspark / sql /會話。在getOrCreate py”, 229行
sc = SparkContext.getOrCreate (sparkConf)
文件“/磚/火花/ python / pyspark /上下文。在getOrCreate py”, 400行
配置或SparkConf SparkContext(參看= ())
文件“/磚/火花/ python / pyspark /上下文。__init__ py”, 147行
自我。_do_init(主瀏覽器名稱、sparkHome pyFiles,環境,batchSize,序列化器,
文件“/磚/火花/ python / pyspark /上下文。在_do_init py”, 210行
自我。_jsc = jsc或self._initialize_context (self._conf._jconf)
文件“/磚/火花/ python / pyspark /上下文。在_initialize_context py”, 337行
返回self._jvm.JavaSparkContext (jconf)
文件“/磚/火花/ python / lib / py4j-0.10.9.1-src.zip / py4j / java_gateway。在__call__ py”, 1568行
return_value = get_return_value (
文件“/磚/火花/ python / lib / py4j-0.10.9.1-src.zip / py4j /協議。在get_return_value py”, 334行
提高Py4JError (
py4j.protocol。Py4JError:稱None.org.apache.spark.api.java.JavaSparkContext時發生一個錯誤。完整回溯如下:
回溯(最近的電話):
文件“/磚/火花/ python / pyspark /序列化器。在_read_with_length py”, 165行
返回self.loads (obj)
文件“/磚/火花/ python / pyspark /序列化器。py”, 466行,在負載
返回泡菜。負載(obj,編碼=編碼)
文件“/磚/ python / lib / python3.8 /網站/ address_matching / __init__。py”,第5行,在<模塊>
從address_matching。核心進口*
文件“/磚/ python / lib / python3.8 /網站/ address_matching /核心。py”, 49歲,在<模塊>
SparkSession.builder.appName (“AddressMatching”)
文件“/磚/火花/ python / pyspark / sql /會話。在getOrCreate py”, 229行
sc = SparkContext.getOrCreate (sparkConf)
文件“/磚/火花/ python / pyspark /上下文。在getOrCreate py”, 400行
配置或SparkConf SparkContext(參看= ())
文件“/磚/火花/ python / pyspark /上下文。__init__ py”, 147行
自我。_do_init(主瀏覽器名稱、sparkHome pyFiles,環境,batchSize,序列化器,
文件“/磚/火花/ python / pyspark /上下文。在_do_init py”, 210行
自我。_jsc = jsc或self._initialize_context (self._conf._jconf)
文件“/磚/火花/ python / pyspark /上下文。在_initialize_context py”, 337行
返回self._jvm.JavaSparkContext (jconf)
文件“/磚/火花/ python / lib / py4j-0.10.9.1-src.zip / py4j / java_gateway。在__call__ py”, 1568行
return_value = get_return_value (
文件“/磚/火花/ python / lib / py4j-0.10.9.1-src.zip / py4j /協議。在get_return_value py”, 334行
提高Py4JError (
py4j.protocol。Py4JError:調用None.org.apache.spark.api.java.JavaSparkContext時發生一個錯誤
首先,你能仔細檢查他們pyspark dataframes嗎?
從pyspark。sql進口DataFrame打印(isinstance (df_name DataFrame))
接下來,dataframe加入我將使用pyspark加入函數意味著pyspark dataframe。如果我要做火花SQL我會做差值表。您可以保存這些dataframes三角洲表和再次嚐試你的代碼在表名或你可以試試pyspark離開加入代碼。
dfsilver。加入(dfaddmaster (dfsilver。= = dfaddmaster.unit)和(dfsilver單位。= = dfaddmaster.street)和(dfsilver。house_number = = dfaddmaster.house_number)、“左”),告訴(截斷= False)