use*_*609 3 hadoop dataframe pandas apache-spark apache-spark-sql
我在Hadoop的YARN上运行Spark.这种转换如何运作?在转换之前是否会发生collect()?
另外我需要在每个从节点上安装Python和R才能使转换工作?我很难找到这方面的文件.
zer*_*323 11
toPandas(PySpark)/ as.data.frame(SparkR)
必须在创建本地数据框之前收集数据.例如,toPandas方法如下:
def toPandas(self):
import pandas as pd
return pd.DataFrame.from_records(self.collect(), columns=self.columns)
Run Code Online (Sandbox Code Playgroud)
您需要在每个节点上安装最佳的所有依赖项的Python.
SparkR对应(as.data.frame)只是一个别名collect.
为了在这两种情况下数据是总结collected到驱动器节点和(转换为本地数据结构pandas.DataFrame和base::data.frame分别在Python和R).
矢量化用户定义的函数
由于火花2.3.0 PySpark还提供了一组pandas_udf(SCALAR,GROUPED_MAP,GROUPED_AGG),其并行地对由下式定义的数据块进行操作
SCALAR变体的分区GROUPED_MAP和的情况下分组表达式GROUPED_AGG.每个块由表示
pandas.core.series.Series的情况SCALAR和GROUPED_AGG变体.pandas.core.frame.DataFrame的GROUPED_MAP变种.同样,自Spark 2.0.0以来,SparkR提供了分别由分区和分组表达式定义的操作dapply和gapply功能data.frames.
上述功能:
coalesce(1))或分组表达式是微不足道的(即groupBy(lit(1))),否则没有单个节点瓶颈.| 归档时间: |
|
| 查看次数: |
2907 次 |
| 最近记录: |