草庐IT

PySpark3

全部标签

python - Pyspark Dataframe 上的 Pivot String 列

我有一个像这样的简单数据框:rdd=sc.parallelize([(0,"A",223,"201603","PORT"),(0,"A",22,"201602","PORT"),(0,"A",422,"201601","DOCK"),(1,"B",3213,"201602","DOCK"),(1,"B",3213,"201601","PORT"),(2,"C",2321,"201601","DOCK")])df_data=sqlContext.createDataFrame(rdd,["id","type","cost","date","ship"])df_data.show()+--

python - Pyspark Dataframe 上的 Pivot String 列

我有一个像这样的简单数据框:rdd=sc.parallelize([(0,"A",223,"201603","PORT"),(0,"A",22,"201602","PORT"),(0,"A",422,"201601","DOCK"),(1,"B",3213,"201602","DOCK"),(1,"B",3213,"201601","PORT"),(2,"C",2321,"201601","DOCK")])df_data=sqlContext.createDataFrame(rdd,["id","type","cost","date","ship"])df_data.show()+--

Python/pyspark 数据框重新排列列

我在python/pyspark中有一个数据框,其中包含idtimecityzip等列。.....现在我向这个数据框添加了一个新列name。现在我必须以name列在id之后的方式排列列我已经完成了如下操作change_cols=['id','name']cols=([colforcolinchange_colsifcolindf]+[colforcolindfifcolnotinchange_cols])df=df[cols]我收到了这个错误pyspark.sql.utils.AnalysisException:u"Reference'id'isambiguous,couldbe:id

Python/pyspark 数据框重新排列列

我在python/pyspark中有一个数据框,其中包含idtimecityzip等列。.....现在我向这个数据框添加了一个新列name。现在我必须以name列在id之后的方式排列列我已经完成了如下操作change_cols=['id','name']cols=([colforcolinchange_colsifcolindf]+[colforcolindfifcolnotinchange_cols])df=df[cols]我收到了这个错误pyspark.sql.utils.AnalysisException:u"Reference'id'isambiguous,couldbe:id

python - 从 pySpark 中的 dict 构建一行

我正在尝试在pySpark1.6.1中动态构建一行,然后将其构建到数据框中。总体思路是将describe的结果扩展为包括例如偏斜和峰度。这是我认为应该起作用的方法:frompyspark.sqlimportRowrow_dict={'C0':-1.1990072635132698,'C3':0.12605772684660232,'C4':0.5760856026559944,'C5':0.1951877800894315,'C6':24.72378589441825,'summary':'kurtosis'}new_row=Row(row_dict)但这会返回TypeError:se

python - 从 pySpark 中的 dict 构建一行

我正在尝试在pySpark1.6.1中动态构建一行,然后将其构建到数据框中。总体思路是将describe的结果扩展为包括例如偏斜和峰度。这是我认为应该起作用的方法:frompyspark.sqlimportRowrow_dict={'C0':-1.1990072635132698,'C3':0.12605772684660232,'C4':0.5760856026559944,'C5':0.1951877800894315,'C6':24.72378589441825,'summary':'kurtosis'}new_row=Row(row_dict)但这会返回TypeError:se

python - 将 pyspark 中的 Python 模块发送到其他节点

如何将C编译模块(例如python-Levenshtein)发送到Spark中的每个节点集群?我知道我可以使用独立的Python脚本在Spark中发送Python文件(示例代码如下):frompysparkimportSparkContextsc=SparkContext("local","AppName",pyFiles=['MyFile.py','MyOtherFile.py'])但是在没有'.py'的情况下,我如何发送模块? 最佳答案 如果你可以将你的模块打包成一个.egg或者.zip文件,你应该可以在构建的时候把它列在pyF

python - 将 pyspark 中的 Python 模块发送到其他节点

如何将C编译模块(例如python-Levenshtein)发送到Spark中的每个节点集群?我知道我可以使用独立的Python脚本在Spark中发送Python文件(示例代码如下):frompysparkimportSparkContextsc=SparkContext("local","AppName",pyFiles=['MyFile.py','MyOtherFile.py'])但是在没有'.py'的情况下,我如何发送模块? 最佳答案 如果你可以将你的模块打包成一个.egg或者.zip文件,你应该可以在构建的时候把它列在pyF

python - PySpark 逐行函数组合

作为一个简化的示例,我有一个数据框“df”,其中包含“col1,col2”列,我想在对每一列应用函数后计算逐行最大值:deff(x):return(x+1)max_udf=udf(lambdax,y:max(x,y),IntegerType())f_udf=udf(f,IntegerType())df2=df.withColumn("result",max_udf(f_udf(df.col1),f_udf(df.col2)))所以如果df:col1col21230然后df2:col1col2result123304以上似乎不起作用并产生“无法评估表达式:PythonUDF#f...”我

python - PySpark 逐行函数组合

作为一个简化的示例,我有一个数据框“df”,其中包含“col1,col2”列,我想在对每一列应用函数后计算逐行最大值:deff(x):return(x+1)max_udf=udf(lambdax,y:max(x,y),IntegerType())f_udf=udf(f,IntegerType())df2=df.withColumn("result",max_udf(f_udf(df.col1),f_udf(df.col2)))所以如果df:col1col21230然后df2:col1col2result123304以上似乎不起作用并产生“无法评估表达式:PythonUDF#f...”我