You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

远程Windows端通过Spark连接Ubuntu上的Cassandra报错,如何解决?

解决Windows端Spark连接Cassandra的ClassNotFoundException错误

问题根源

错误源于Spark未正确加载Cassandra连接器依赖包,同时代码存在语法和参数配置问题。

具体修复步骤

1. 修正代码语法错误

  • 导入SparkContext和SparkConf时缺少逗号,正确写法:
from pyspark import SparkContext, SparkConf
  • 实例化SparkContext无需重复前缀,直接使用导入类:
sc = SparkContext(conf=conf)

2. 修正PYSPARK_SUBMIT_ARGS参数格式

原参数存在两处问题:spark.cassandra.connection.host未通过--conf传递,结尾应使用pyspark-shell而非pyspark;同时注意修正拼写错误executer为executor:

import os
os.environ['PYSPARK_SUBMIT_ARGS'] = '--master spark://10.0.0.10:7077 \
--packages com.datastax.spark:spark-cassandra-connector_2.12:3.1.0 \
--conf spark.driver.extraJavaOptions=-Xss512m \
--conf spark.executor.extraJavaOptions=-Xss512m \
--conf spark.cassandra.connection.host=10.0.0.10 \
pyspark-shell'

3. 改用SparkSession配置(更简洁)

跳过SQLContext,直接用SparkSession整合配置与数据读取,参数传递更清晰:

import os
os.environ['PYSPARK_SUBMIT_ARGS'] = '--master spark://10.0.0.10:7077 \
--packages com.datastax.spark:spark-cassandra-connector_2.12:3.1.0 \
--conf spark.driver.extraJavaOptions=-Xss512m \
--conf spark.executor.extraJavaOptions=-Xss512m \
pyspark-shell'

import findspark
findspark.init()

from pyspark.sql import SparkSession
from pyspark.sql.functions import col

spark = SparkSession.builder \
    .appName('example') \
    .config('spark.cassandra.connection.host', '10.0.0.10') \
    .getOrCreate()

data_frame = spark.read \
    .format('org.apache.spark.sql.cassandra') \
    .options(table='table_one', keyspace='log_keyspace') \
    .load()

# 后续数据操作
a = data_frame.filter(col("col_1")<100000).select("col_1","col_2","col_3","col_4","col_5").toPandas()

4. 手动添加依赖包(应对网络下载失败)

若Windows无法自动下载连接器包,手动下载对应版本的spark-cassandra-connector_2.12-3.1.0.jar,放入Spark安装目录的jars文件夹,Spark启动时会自动加载该包。

验证要点

  • 确认Windows与Ubuntu端的Spark、Scala版本和连接器版本匹配(_2.12对应Scala 2.12,建议Spark版本为3.1.x)。
  • 检查网络连通性:Windows可访问Ubuntu的Spark Master端口(7077)和Cassandra默认端口(9042)。

内容的提问来源于stack exchange,提问作者yz_waaz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 13:15:21