我对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.5-py2.6.egg
使用两者,我可以查询cassandra表。
我的要求如下 -
我们在Php的远程服务器上有一个应用程序。这个带有一些过滤器的应用程序将从spark cassandra层请求数据。
目前我只是在cgi-bin上尝试一个简单的Python脚本。问题是,如何在Python脚本中添加连接器--jars?
我尝试过conf.set(" spark.jars"," / jar / path"),但这些都不起作用。
任何帮助都将受到高度赞赏。
先谢谢
答案 0 :(得分:0)
您有几个选项,最简单的方法是使用Spark包中的发行版
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
指定它如果您想使用自己的组装罐,请使用
- jars flag
如果您只想要Dataframe访问,则可以在没有TargetHolding jar的情况下使用它。如果您不需要直接api,我会建议这样做,因为以这种方式使用Dataframes将确保您的所有实际代码都将在本机scala中运行,并且不需要在序列化中来回转换。
如果你能提供帮助,我不会尝试从独立脚本运行它。始终通过spark-submit或pyspark运行。