问题标签 [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.
scala - Cassandra spark 连接器编写嵌套的可选案例类
如何使用 cassandra spark 连接器编写可选案例类?
例子 :
当我尝试将用户保存到 cassandra 时,rdd.saveToCassandra
它会引发错误
我试图实现一个TypeConverter
但没有奏效。
但是,嵌套案例类已正确转换为 cassandra UDT,并且接受可选字段。
在不改变数据模型的情况下有什么好的方法来处理这个问题吗?
scala - 从spark中的单行生成多行
我在 cassandra 中有一些具有以下数据模型的数据:
现在我想将这些数据转换成一些东西:
目前我已经创建了一个函数,它获取开始日期和结束日期并返回 transaction_date 的元组(只是 Date 部分)和 24 大小的数组,其中事务处于活动状态的时间为 1,并将原始 RDD 映射到带有 transaction_date 的 PairRDD (只是日期部分)作为键和数组作为值。在此之后对键执行归约并添加数组的所有单个元素以获得所需的输出。
现在的问题是,有些情况下事务在深夜开始并在午夜后完成,所以在这种情况下,我想从我的函数中返回 2 行,以便对于每个事务,我在返回的 RDD 中得到 2 行。
Spark 版本:1.2.2
API 使用的是 Scala
Spark Cassandra 连接器版本 1.2.2
scala - joinWithCassandraTable 在增加表大小时变得慢得多
我目前正在使用这个堆栈:
- Cassandra 2.2(多节点)
- 火花/流媒体 1.4.1
- Spark-Cassandra-连接器 1.4.0-M3
我有这个 DStream[Ids] 的 RDD 大约有 6000-7000 个元素。id
是分区键。
随着tableName
变大,假设大约 30k“行”,查询需要更长的时间,而且我无法保持在批处理持续时间阈值以下。它的执行类似于使用大量 -IN
子句,我理解这是不可取的。
有没有更有效的方法来做到这一点?
答:在与 Cassandra 进行连接之前,请务必记住重新分区您的本地 RDD,repartitionByCassandraReplica
以确保每个分区仅针对本地 Cassandra 节点工作。就我而言,我还必须增加加入本地 RDD/DStream 上的分区,以便任务在工作人员之间均匀分布。
elasticsearch - Spark-Cassandra 与 Spark-Elasticsearch
我使用 Elasticsearch 已经有一段时间了,使用 Cassandra 的经验很少。
现在,我有一个项目,我们想使用 spark 处理数据,但我需要决定是否应该使用 Cassandra 或 Elasticsearch 作为数据存储来加载我的数据。
在连接器方面,Cassandra 和 Elasticsearch 现在都有一个很好的连接器来加载数据,因此这不会成为决定因素。
决定胜负的因素是我在 Spark 中加载数据的速度。我的数据将近 20 TB。
我知道我可以使用 JMeter 运行一些测试并自己查看结果,但我想问问熟悉这两个系统的人。
谢谢
scala - 为什么在 Spark shell 中使用自定义案例类会导致序列化错误?
对于我的生活,我无法理解为什么这不是可序列化的。我在 spark-shell (粘贴模式)下运行。我在 Spark 1.3.1、Cassandra 2.1.6、Scala 2.10 上运行
我用这个开始了 spark-shell:
没有看到包含 -Dsun.io.serialization.extendedDebugInfo=true 属性的任何区别。
完整错误(已编辑):
与工作日志不同的东西:
scala - 动态列表中的转义字符
我想转义用于创建案例类的动态列表中的字符。
我收到此错误:
请问有什么想法吗?
cassandra - 如何将列族从一个 cassandra 集群复制到另一个?
如何将列族从一个 cassandra 集群复制到另一个?
设想:
- 我只有主机的 IP(对于源集群和目标集群)、端口、key_space 名称和 column_family 名称。
- 我已经在目标集群中创建了元数据(只需要复制数据)。
- 最优先的是,我希望使用 spark-cassandra 连接器 JAVA API 在单个/多个 spark 作业中完成此操作(中间创建 DataFrame 然后保存它)。
- 适度优先,使用 datastax 中的 cassandra-java 驱动程序。
- 最不优先,使用 cassandra-jdbc 驱动程序和 spark-cassandra 连接器 JAVA API。
任何帮助将不胜感激。在此先感谢。
scala - 使用 Spark Streaming 从 Cassandra 读取
当我使用火花流从 Cassandra 读取数据时遇到问题。
如上面的链接,我使用
从 cassandra 中选择数据,但火花流似乎只有一次查询,但我希望它继续使用 10 秒的间隔进行查询。
我的代码如下,希望得到您的回复。
谢谢!
}
cassandra - Spark cassandra 连接器 NoHostAvailableException 将进行多次读取
在 mapPartition 中执行多项选择时。我按行做了 2 个准备好的请求。
寻求建议,代码如下所示
当批次达到〜400行时,它会抛出一个
它已尝试更改配置以查看是否可以执行某些操作,但错误仍在弹出
这种代码在spark cassandra 连接器中工作,但可能有些我没见过
引发异常后,下一批流连接到 cassandra 没有问题。
我是否因同时请求太多而使我的 cassandra 超时?
我使用带有火花连接器 1.4.0-M3 和驱动程序 2.1.7.1 的 cassandra 2.1.3
scala - 无法运行自定义聚合 OperationTimedOut:errors={},last_host=127.0.0.1
我有一个正在运行的 apache-cassandra-2.2.1 并enable_user_defined_functions
设置为true
in cassandra.yml
。我根据这篇文章定义了一个自定义聚合,如下所示:
当我从 CQLSH 控制台调用它时,我看到了超时:
我可以成功运行任何其他查询,我也可以从 scala 运行查询(但我没有得到完整的结果集):