java - CSV 到 RDD 到 Apache Spark 中的 Cassandra 存储

标签 java apache-spark

我的 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 数据库中的一个元组。

我知道我可以读取每一行,拆分列,使用列值创建对象,将其添加到列表中,然后最终序列化整个列表。我想知道是否有更简单更直接的方法来做到这一点?

最佳答案

那么你可以使用 SSTableLoader for BulkLoading并完全避免 Spark 。 如果您依赖 Spark,那么我认为您运气不好...尽管我不确定比逐行阅读和拆分行要容易多少...

关于java - CSV 到 RDD 到 Apache Spark 中的 Cassandra 存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26404912/

相关文章:

java - 了解命令模式以及为什么我们需要接口(interface)?

apache-spark - Pyspark EMR 中步骤的 Cloudformation 模板

apache-spark - 如何避免一次又一次地重新评估 pyspark 数据帧上的每个转换

scala spark UDF 过滤器数组结构

apache-spark - Spark 提交错误: No main class set in JAR; please specify one with --class

apache-spark - 使用 Spark 连接到 MS SQL Server

java - Function<T, R> 作为 Junit 5 中的附加参数

java - JScrollPane 中的动态 JTextArea 最终位于滚动条下方

java - 用你自己的话说 : what is JavaFX and Java applet? 它们有什么区别?

java - AWS Lambda Java 到 S3 - com.amazonaws.services.s3.AmazonS3ClientBuilder 上的 java.lang.ClassNotFoundException