我是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 回答
你有几个选择,最简单的方法是使用Spark Packages的发行版
http://spark-packages.org/package/datastax/spark-cassandra-connector
你只需用--packages指定它
如果您想使用自己的组装 jar ,请使用
如果您只想要Dataframe访问,则可以在没有TargetHolding jar的情况下使用它 . 如果您不需要直接api,我会建议这样做,因为以这种方式使用Dataframes将确保您的所有实际代码都将在本机scala中运行,并且不需要在序列化中来回转换 .
如果你能提供帮助,我不会尝试从独立的脚本运行它 . 始终通过spark-submit或pyspark运行 .