CSV 到 RDD 到 Apache Spark 中的 Cassandra 存储
Posted
技术标签:
【中文标题】CSV 到 RDD 到 Apache Spark 中的 Cassandra 存储【英文标题】:CSV to RDD to Cassandra store in Apache Spark 【发布时间】:2014-10-16 12:49:47 【问题描述】:我在一个 csv 文件中有一堆数据,我需要通过 spark 将这些数据存储到 Cassandra 中。 为此,我正在使用 spark 到 cassandra 连接器。 通常要存储到 Cassandra 中,我会创建一个 Pojo,然后将其序列化为 RDD,然后存储:
Employee emp = new Employee(1 , 'Mr', 'X');
JavaRDD<Employee> empRdd = SparkContext.parallelize(emp);
最后我把这个写给 cassandra:
CassandraJavaUtil.javaFunctions(empRdd, Emp.class).saveToCassandra("dev", "emp");
这很好,但我的数据存储在csv
文件中。每行代表 cassandra 数据库中的一个元组。
我知道我可以读取每一行,拆分列,使用列值创建对象,将其添加到列表中,然后最终序列化整个列表。我想知道是否有更简单更直接的方法来做到这一点?
【问题讨论】:
【参考方案1】:你可以只使用SSTableLoader for BulkLoading 并完全避免火花。 如果你依赖火花,那么我认为你不走运......虽然我不确定比逐行阅读和拆分行更容易......
【讨论】:
以上是关于CSV 到 RDD 到 Apache Spark 中的 Cassandra 存储的主要内容,如果未能解决你的问题,请参考以下文章
Spark SQL中 RDD 转换到 DataFrame (方法二)