草庐IT

python - 在 Spark 数据框列中获取最大值的最佳方法

我正在尝试找出在Spark数据框列中获取最大值的最佳方法。考虑以下示例:df=spark.createDataFrame([(1.,4.),(2.,5.),(3.,6.)],["A","B"])df.show()创建:+---+---+|A|B|+---+---+|1.0|4.0||2.0|5.0||3.0|6.0|+---+---+我的目标是在A列中找到最大值(通过检查,这是3.0)。使用PySpark,我可以想到以下四种方法:#Method1:Usedescribe()float(df.describe("A").filter("summary='max'").select("A"

python - 如何将 PySpark 中的表数据框导出到 csv?

我使用的是Spark1.3.1(PySpark),并且我使用SQL查询生成了一个表。我现在有一个对象是DataFrame。我想将这个DataFrame对象(我称之为“表”)导出到一个csv文件,以便我可以操作它并绘制列。如何将DataFrame“表”导出到csv文件?谢谢! 最佳答案 如果数据帧适合驱动程序内存并且您想保存到本地文件系统,您可以转换SparkDataFrame本地PandasDataFrame使用toPandas方法,然后简单地使用to_csv:df.toPandas().to_csv('mycsv.csv')否则你

python - 如何将 PySpark 中的表数据框导出到 csv?

我使用的是Spark1.3.1(PySpark),并且我使用SQL查询生成了一个表。我现在有一个对象是DataFrame。我想将这个DataFrame对象(我称之为“表”)导出到一个csv文件,以便我可以操作它并绘制列。如何将DataFrame“表”导出到csv文件?谢谢! 最佳答案 如果数据帧适合驱动程序内存并且您想保存到本地文件系统,您可以转换SparkDataFrame本地PandasDataFrame使用toPandas方法,然后简单地使用to_csv:df.toPandas().to_csv('mycsv.csv')否则你

python - 在 Spark 中更新数据框列

看新的sparkDataFrameAPI,不清楚是否可以修改dataframe列。我将如何更改数据框的x列y行中的值?在pandas中是:df.ix[x,y]=new_value编辑:合并下面所说的内容,您无法修改现有数据框,因为它是不可变的,但您可以返回具有所需修改的新数据框。如果您只想根据条件替换列中的值,例如np.where:frompyspark.sqlimportfunctionsasFupdate_func=(F.when(F.col('update_col')==replace_val,new_value).otherwise(F.col('update_col')))d

python - 在 Spark 中更新数据框列

看新的sparkDataFrameAPI,不清楚是否可以修改dataframe列。我将如何更改数据框的x列y行中的值?在pandas中是:df.ix[x,y]=new_value编辑:合并下面所说的内容,您无法修改现有数据框,因为它是不可变的,但您可以返回具有所需修改的新数据框。如果您只想根据条件替换列中的值,例如np.where:frompyspark.sqlimportfunctionsasFupdate_func=(F.when(F.col('update_col')==replace_val,new_value).otherwise(F.col('update_col')))d

python - 将 spark DataFrame 列转换为 python 列表

我处理具有两列mvv和count的数据框。+---+-----+|mvv|count|+---+-----+|1|5||2|9||3|3||4|1|我想获得两个包含mvv值和计数值的列表。类似的东西mvv=[1,2,3,4]count=[5,9,3,1]所以,我尝试了以下代码:第一行应该返回一个python行列表。我想查看第一个值:mvv_list=mvv_count_df.select('mvv').collect()firstvalue=mvv_list[0].getInt(0)但我收到第二行的错误消息:AttributeError:getInt 最佳答

python - 将 spark DataFrame 列转换为 python 列表

我处理具有两列mvv和count的数据框。+---+-----+|mvv|count|+---+-----+|1|5||2|9||3|3||4|1|我想获得两个包含mvv值和计数值的列表。类似的东西mvv=[1,2,3,4]count=[5,9,3,1]所以,我尝试了以下代码:第一行应该返回一个python行列表。我想查看第一个值:mvv_list=mvv_count_df.select('mvv').collect()firstvalue=mvv_list[0].getInt(0)但我收到第二行的错误消息:AttributeError:getInt 最佳答

python - 使用 None 值过滤 Pyspark 数据框列

我正在尝试过滤具有None作为行值的PySpark数据帧:df.select('dt_mvmt').distinct().collect()[Row(dt_mvmt=u'2016-03-27'),Row(dt_mvmt=u'2016-03-28'),Row(dt_mvmt=u'2016-03-29'),Row(dt_mvmt=None),Row(dt_mvmt=u'2016-03-30'),Row(dt_mvmt=u'2016-03-31')]我可以用字符串值正确过滤:df[df.dt_mvmt=='2016-03-31']#someresultshere但这失败了:df[df.dt_

python - 使用 None 值过滤 Pyspark 数据框列

我正在尝试过滤具有None作为行值的PySpark数据帧:df.select('dt_mvmt').distinct().collect()[Row(dt_mvmt=u'2016-03-27'),Row(dt_mvmt=u'2016-03-28'),Row(dt_mvmt=u'2016-03-29'),Row(dt_mvmt=None),Row(dt_mvmt=u'2016-03-30'),Row(dt_mvmt=u'2016-03-31')]我可以用字符串值正确过滤:df[df.dt_mvmt=='2016-03-31']#someresultshere但这失败了:df[df.dt_

python - Apache 星火 : How to use pyspark with Python 3

我从GH开发大师那里构建了Spark1.4,并且构建顺利。但是当我执行bin/pyspark时,我得到了Python2.7.9版本。我该如何更改? 最佳答案 只需设置环境变量:导出PYSPARK_PYTHON=python3如果您希望这是永久更改,请将此行添加到pyspark脚本中。 关于python-Apache星火:HowtousepysparkwithPython3,我们在StackOverflow上找到一个类似的问题: https://stackove