你必须原谅我的愚蠢,但是我正在尝试建立一个spark集群,它连接到运行python脚本的cassandra,目前我正在使用datastaxenterprise在solr搜索模式下运行cassandra。我知道,为了使用datastax提供的spark-cassandra连接器,必须在分析模式下运行cassandra(使用-k选项)。目前,我只能使用dse spark版本来运行它,为此,为了使其工作,我遵循了以下步骤:
python test-script.py
运行独立脚本此外,我还单独使用spark(而不是dse版本)进行了另一个测试,试图包含使驱动程序类可访问的java包,我做到了:
$SPARK_HOME/bin/spark-submit —packages com.datastax.spark:spark-cassandra...
我还尝试运行pyspark shell并测试sc是否具有cassandraTable方法,以查看驱动程序是否已加载但没有运行,在这两种情况下,我都得到以下错误消息:
AttributeError: 'SparkContext' object has no attribute 'cassandraTable'
我的目标是不明白我必须做什么,使非dse的spark版本与cassandra连接,并有来自驱动程序的方法可用。在
我还想知道是否可以将dse spark cassandra连接器与未与dse一起运行的cassandra节点一起使用。在
谢谢你的帮助
我在一个独立的python脚本中使用了pyspark。我不使用DSE,我从datatax的github存储库克隆了cassandraspark connector,并用datataxinstrucctions编译。在
为了访问spark中的spark连接器,我复制到spark安装中的jars文件夹。在
我认为这对你也有好处:
您可以访问this,在那里我解释我自己设置环境的经验。在
一旦spark可以访问Cassandra连接器,就可以使用pyspark库作为包装:
^{pr2}$在这个example中,您可以看到整个脚本。在
下面是如何将spark shell连接到非dse版本中的cassandra。在
将
spark-cassandra-connector
jar复制到spark/spark-hadoop-directory/jars/
在sparkshell中执行以下命令
^{pr2}$如果您的cassandra有密码设置等,则必须提供更多参数:)
相关问题 更多 >
编程相关推荐