首页 文章

用于独立python或scala脚本的spark cassandra连接器

提问于
浏览
0

我是Cassandra和Spark的新手 . 以下是我到目前为止所做的事情:1)已安装的Cassandra 2.1.8版本添加了lucene二级索引 . 添加了测试数据 . 2)预先构建Spark 1.4.1 3)我有Spark Cassandra连接器Jars .

我可以使用./spark-shell --jars /pathy/to/spark-cassandra-connector/spark-cassandra-connector-assembly-1.5.0-M1-SNAPSHOT.jar和

./pyspark --jars /path/to/pyspark_cassandra-0.1.5.jar --driver-class-path /path/to/pyspark_cassandra-0.1.5.jar --py-files /path/to/pyspark_cassandra-0.1 3.5 py2.6.egg

使用两者,我能够查询cassandra表 .

我的要求如下 -

我们在Php的远程服务器上有一个应用程序 . 这个带有一些过滤器的应用程序将从spark cassandra层请求数据 .

  • 提供此请求的最佳方式是什么?

  • 哪个是首选语言,Python还是Scala?

  • 使用REST API推荐使用scala框架?

目前我只是在cgi-bin上尝试一个简单的Python脚本 . 问题是,如何在Python脚本中添加连接器--jars?

我尝试过conf.set(“spark.jars”,“/ jar / path”),它不起作用 .

任何帮助将受到高度赞赏 .

提前致谢

1 回答

  • 0

    你有几个选择,最简单的方法是使用Spark Packages的发行版

    http://spark-packages.org/package/datastax/spark-cassandra-connector

    > $SPARK_HOME/bin/pyspark --packages com.datastax.spark:spark-cassandra-connector_2.10:1.4.0-M3
    

    你只需用--packages指定它

    如果您想使用自己的组装 jar ,请使用

    • 标志

    如果您只想要Dataframe访问,则可以在没有TargetHolding jar的情况下使用它 . 如果您不需要直接api,我会建议这样做,因为以这种方式使用Dataframes将确保您的所有实际代码都将在本机scala中运行,并且不需要在序列化中来回转换 .

    如果你能提供帮助,我不会尝试从独立的脚本运行它 . 始终通过spark-submit或pyspark运行 .

相关问题