一、介绍
- Apache Arrow是Apache基金会全新孵化的一个顶级项目。一个跨平台的在内存中以列式存储的数据层,它设计的目的在于作为一个跨平台的数据层,来加快大数据分析项目的运行速度
- Pandas建立在ApacheArrow之上,带来了低开销,高性能的udf
- Apache Arrow是一种内存中的列式数据格式,用于Spark中以JVM和Python进程之间有效地传输数据。
二、安装
- pip install pysaprk[sql]
三、使用
- spark.conf.set(“spark.sql.execution.arrow.enabled”,“true”)
四、启用与pandas的转换
-
在使用调用将 Spark DataFrame 转换为 Pandas DataFrame 以及使用DataFrame.toPandas().pandas DataFrame 从 Pandas DataFrame 创建 Spark DataFrame 时, Arrow 可用作优化SparkSession.createDataFrame()。要在执行这些调用时使用 Arrow,用户需要首先将 Spark 配置设置spark.sql.execution.arrow.pyspark.enabled为true. 默认情况下禁用此功能。
-
此外,spark.sql.execution.arrow.pyspark.enabled如果在 Spark 中的实际计算之前发生错误,则启用的优化可以自动回退到非 Arrow 优化实现。这可以通过下面命令来控制:
spark.sql.execution.arrow.pyspark.fallback.enabled。
-
对 Arrow 使用上述优化将产生与