Skip to main content

PySpark 的助手和语法糖。

项目描述

闪亮的 PyPi 版本 Sparkly 构建状态 文件状态

PySpark 的助手和语法糖。有几个功能可以让您的生活更轻松:

  • 在您的代码中定义 spark 包、外部 jars、UDF 和 spark 选项;

  • 用于 Cassandra、Elastic、MySQL、Kafka 的简化读写器 api;

  • Spark 应用程序的测试框架。

更多细节可以在官方文档中找到。

安装

Sparkly 本身很容易安装:

pip install sparkly

棘手的部分是pyspark。PyPI 上没有官方发行版。作为一种解决方法,我们可以建议:

  1. 使用环境变量PYTHONPATH指向您的 Spark 安装,例如:

    export PYTHONPATH="/usr/local/spark/python/lib/pyspark.zip:/usr/local/spark/python/lib/py4j-0.10.4-src.zip"
  2. 将我们的setup.py文件用于pyspark。只需将其添加到您的 requirements.txt

    -e git+https://github.com/Tubular/spark@branch-2.1.0#egg=pyspark&subdirectory=python

在 Tubular 中,我们将pyspark发布到我们的内部 PyPi 存储库。

入门

这是一个小代码片段,展示了如何轻松读取 Cassandra 表并将其内容写入 ElasticSearch 索引:

from sparkly import SparklySession


class MySession(SparklySession):
    packages = [
        'datastax:spark-cassandra-connector:2.0.0-M2-s_2.11',
        'org.elasticsearch:elasticsearch-spark-20_2.11:6.5.4',
    ]


if __name__ == '__main__':
    spark = MySession()
    df = spark.read_ext.cassandra('localhost', 'my_keyspace', 'my_table')
    df.write_ext.elastic('localhost', 'my_index', 'my_type')

有关详细信息,请参阅在线文档。

测试

要运行测试,您必须在系统上安装dockerdocker-compose。如果您在 MacOS 上工作,我们强烈建议您使用 docker-machine。安装上述工具后,您只需运行:

make test

支持的 Spark 版本

目前我们支持:

闪闪发光 >= 2.7 | 火花 2.4.x

闪闪发光的 2.x | Spark 2.0.x 和 Spark 2.1.x 和 Spark 2.2.x

闪闪发光的 1.x | 火花 1.6.x

项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

sparkly-2.8.2.tar.gz (33.7 kB 查看哈希)

已上传 source