问题标签 [spark-cassandra-connector]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
129 浏览

apache-spark - 写入 Cassandra 时如何控制 Spark 任务的数量

在带有 kafka 和 cassandra 的 mesos 上使用 spark(因此是 spark-cassandra-connector) 使用 spark-streaming 我正在听一个 kafka 主题,然后使用 .saveToCassandra 插入 cassandra

我有 60 个 CPU 分配给 spark(30 个 spark 节点和 5 个 cassandra 节点),我正在尝试遵循 apache spark 建议“一般来说,我们建议集群中每个 CPU 核心执行 2-3 个任务”。也就是说120-180个任务。

但是,插入阶段似乎有许多任务,具体取决于接收到的输入数据。

示例(我的流式传输批处理持续 1 分钟):

我怎样才能得到:

0 投票
1 回答
452 浏览

cassandra - spark-cassandra-connector 性能:执行器似乎处于空闲状态

在我们的 40 个节点集群(33 个 spark 执行器/5 个节点 cassandra)上,通过 spark-streaming,我们每分钟在 cassandra 表中插入大约 20 000 个(除其他外.saveToCassandra)。我们得到的结果是:

在此处输入图像描述

如果我理解正确, executorsS3S1475 S19% 的时间都处于空闲状态并阻止阶段完成......这样的资源浪费!和性能损失。

这是我的 SparkContext 的配置选项:

这种行为正常吗?如果不是,我应该调整上述设置以避免它吗?问题是来自 spark-cassandra-connector 写入还是其他原因?

0 投票
2 回答
2047 浏览

scala - Spark + Cassandra 连接器因 LocalNodeFirstLoadBalancingPolicy.close() 而失败

我一直在尝试将 cassandra 与 scala 中的 Spark 连接起来,但我遇到了几个问题。以下是使用的版本:

以下是我遵循的步骤: - 使用默认配置下载 Cassandra,并通过 bin/cassandra -f 启动它。Cassandra 启动良好并在 127.0.0.1 上监听 - 我在 spark 键空间的 try 表中添加了一些模拟数据。- 下载 Spark 并通过 sbin/start-master.sh 启动主服务器。我可以在 localhost:8888 上看到 master 运行良好 - 我编写了以下 build.sbt :

  • 我写了以下主要内容:

    /li>
  • 然后我运行程序。

这是我使用“spark.cassandra.connector.host”=“spark://127.0.0.1:7077”得到的堆栈跟踪。

如果我将此参数更改为本地 [*],那么我会得到此堆栈跟踪:

知道问题出在哪里吗?

0 投票
0 回答
380 浏览

java - 使用 cassandra spark connector (java) 从 spark 流中推送 Cassandra 中的大量消息的问题

我一直在尝试将来自 kafka 的大量 json 消息(每个大约 2KB)推送到 cassandra 以触发流式传输。

模拟器---->Kafka---->SparkStreaming--->Cassandra。

它们中的每一个都在单独的 ec2 实例上运行,具有 30GB 的 Ram 和 8 核处理器作为独立的单节点设置。

当我试图从模拟器推送大约 500 万条消息时,在大约 100k 条消息之后,cassandra 停止插入消息,并且 spark 流式作业只是继续创建批处理(如 spark 流式 Web ui 中所示)。我什至检查了日志,但没有发现任何问题。

另外,我不确定我在代码中使用 spark 连接器写入 cassandra 的方式。

请看下面的代码,

WordCount.java

我一直在使用具有以下主要依赖项的默认 cassandra.yml,

  • 火花-cassandra-connector_2.10 - 1.4.0-M3
  • spark-cassandra-connector-java_2.10 - 1.4.0-M3
  • cassandra 驱动程序核心 - 2.1.7.1
  • 火花流-kafka_2.10 - 1.4.1
  • 火花流_2.10 - 1.4.1
  • 火花核心_2.10 - 1.4.1

请提出可能是什么问题。

nodetool info 和 nodetool tpstats 的输出如下。

节点工具信息

节点工具 tpstat

0 投票
2 回答
1953 浏览

python - pyspark 中的 pyspark_cassandra 使用 spark-cassandra-connector_2.10:1.3.0-M2 jar 导入问题

我正在使用Spark 1.3.0 并想使用Pyspark连接Cassandra
>pyspark --packages com.datastax.spark:spark-cassandra-connector_2.10:1.3.0-M2

它显示成功下载依赖 jar 并进入 Pyspark 终端,但我无法进行导入。

我也试过


以及使用--jars option. 还是一样。使用 scala 的 spark-shell 也同样适用。我是 python 新手。我错过了什么吗?

0 投票
2 回答
669 浏览

apache-spark - 更新 cassandra 行 spark cassandra

我正在使用带有 spark cassandra 连接器 1.2.3 的 spark 1.2,我正在尝试更新一些表行:

例子:

我只计算包含“e”为空的行数,并将它们替换为“b”的值

这在我签入 cqlsh 时有效,但是当我通过 spark cassandra 请求相同的行时,我仍然得到 null 值。

这是 spark cassandra 连接器中的错误吗?谢谢你的帮助。

0 投票
0 回答
153 浏览

cassandra - Spark Cassandra 连接器 saveToCassandra() 正在向驱动程序发送数据并导致 OOM 异常

我正在尝试使用 Spark Cassandra 连接器。

这是我的代码:

执行此操作后,它会输出以下内容。它最终会为驱动程序引发 OOM 异常。我不确定它为什么要向驱动程序发送数据。

0 投票
1 回答
676 浏览

cassandra - 火花连接器加载与 sstableloader 性能

我有一个 spark 作业,现在从 HDFS 中提取数据并将数据转换为平面文件以加载到 Cassandra。

cassandra 表本质上是 3 列,但最后两列是地图集合,因此是一个“复杂”的数据结构。

现在我使用 COPY 命令并获得大约 3k 行/秒的负载,但考虑到我需要加载大约 5000 万条记录,这非常慢。

我看到我可以将 CSV 文件转换为 sstables,但我没有看到涉及地图集合和/或列表的示例。

我可以使用 spark 连接器到 cassandra 来加载带有地图集合和列表的数据,并获得比 COPY 命令更好的性能吗?

0 投票
1 回答
1385 浏览

apache-spark - cassandra spark连接器读取性能

我有一些 Spark 经验,但刚开始使用 Cassandra。我正在尝试进行非常简单的读取并获得非常糟糕的性能-无法说出原因。这是我正在使用的代码:

在此处输入图像描述

所有 3 个参数都是表中键的一部分:

PRIMARY KEY ( group_id, epoch, group_name, auto_generated_uuid_field) ) WITH CLUSTERING ORDER BY (epoch ASC, group_name ASC, auto_generated_uuid_field ASC)

我从驱动程序看到的输出是这样的:

15/10/07 15:05:02 信息 CassandraConnector:连接到 Cassandra 集群:shakassandra 15/10/07 15:07:02错误会话:在 attila./198.xxx:9042 com.datastax.driver 创建池时出错。 core.ConnectionException: [attila./198.xxx:9042] 传输初始化期间出现意外错误(com.datastax.driver.core.OperationTimedOutException: [attila /198.xxx:9042] 操作超时)

15/10/07 15:07:02 信息 SparkContext:开始工作:参加 CassandraRDD.scala:121

2007 年 15 月 10 日 15:07:03 信息 BlockManagerInfo:在 osd09的内存中添加了 broadcast_5_piece0 :39903(大小:4.8 KB,免费:265.4 MB)

15/10/07 15:08:23 INFO TaskSetManager:在osd09 (1/1)上的 80153 毫秒内完成阶段 6.0 (TID 8) 中的任务 0.0

15/10/07 15:08:23 INFO TaskSetManager:在 osd09 (1/1) 上的 80153 毫秒内完成阶段 6.0 (TID 8) 中的任务 0.0

15/10/07 15:08:23 INFO DAGScheduler:ResultStage 6(取于 CassandraRDD.scala:121)在 80.958 秒内完成 15/10/07 15:08:23 INFO TaskSchedulerImpl:删除 TaskSet 6.0,其任务已全部完成, 从池中

2007 年 15 月 10 日 15:08:23 信息 DAGScheduler:作业 5 完成:在 CassandraRDD.scala:121 上进行,耗时81.043413

我希望这个查询非常快,但它需要一分钟多的时间。有几件事突然出现在我身上

  1. 获取会话错误几乎需要两分钟——我将 3 个节点的 IP 传递给 Spark Cassandra 连接器——有没有办法告诉它更快地跳过失败的连接?
  2. 任务被发送到不是 Cassandra 节点的 Spark 工作人员——这对我来说似乎很奇怪——有没有办法获取有关调度程序为什么选择将任务发送到远程节点的信息?
  3. 即使任务被发送到远程节点,该工作人员的输入大小(最大值)显示为 334.0 B / 1,但执行程序时间为 1.3 分钟(见图)。这似乎真的很慢——我希望时间花在反序列化上,而不是计算上...... 在此处输入图像描述

任何关于如何调试这个,在哪里寻找潜在问题的提示都非常感谢。使用带有连接器 1.4.0-M3 的 Spark 1.4.1,cassandra ReleaseVersion:2.1.9,可调整连接器参数的所有默认值

0 投票
1 回答
676 浏览

cassandra - Zeppelin spark RDD 命令失败但在 spark-shell 中工作

我已经设置了一个独立的单节点“集群”,运行以下内容:

  • 卡桑德拉 2.2.2
  • 火花 1.5.1
  • 项目清单
  • 为 Spark-Cassandra-Connector 1.5.0-M2 编译的 fat jar
  • 编译的 Zeppelin 0.6 快照编译为: mvn -Pspark-1.5 -Dspark.version=1.5.1 -Dhadoop.version=2.6.0 -Phadoop-2.4 -DskipTests clean package

我可以很好地使用 spark shell 从 cassandra 检索数据

我已将 Zeppelin-env.sh 更改如下:

然后我开始将段落添加到笔记本并首先导入以下内容:

不确定是否所有这些都是必要的。这一段运行良好。

然后我执行以下操作:

这运行良好并返回:

然后下一段 - 运行以下 2 个语句 - 第一个成功,第二个失败:

结果:

为什么调用 first 失败。诸如 sc.fromTextFile 之类的调用也会失败。

以下也有效:

但这不会:

请协助,因为这让我发疯。特别是因为火花壳可以工作,但这并没有或至少看起来部分损坏。

谢谢