火花连接器加载与 sstableloader 性能

spark connector loading vs sstableloader performance

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

cassandra table 本质上是 3 列,但最后两列是地图集合,因此是一个 "complex" 数据结构。

现在我使用 COPY 命令并获得大约 3k rows/sec 负载,但考虑到我需要加载大约 5000 万条记录,那速度非常慢。

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

我可以使用 spark connector to cassandra 通过地图集合和列表加载数据并获得比仅使用 COPY 命令更好的性能吗?

是的,对于已经在 HDFS 中的文件,Spark Cassandra 连接器可以快得多。使用 spark,您将能够分布式抓取并写入 C*。

即使没有 Spark,使用像 https://github.com/brianmhess/cassandra-loader 这样的基于 java 的加载器也会显着提高速度。