CSV到RDD到Cassandra存储在Apache Spark中

时间:2014-10-16 12:49:48

标签: java apache-spark

我在csv文件中有一堆数据,我需要通过spark存储到Cassandra中。 我正在使用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 个答案:

答案 0 :(得分:0)

那么你可以使用SSTableLoader for BulkLoading并完全避免火花。 如果你依赖火花那么我认为你运气不好......虽然我不确定比逐行阅读更容易,但是甚至可以分割线......