spark Cassandra结构中的动态表示方式

时间:2016-06-01 05:58:39

标签: apache-spark cassandra

我使用这样的东西,插入spark Cassandra的表中。如果您看到所有列都是硬编码的,那么有一种动态处理它的好方法吗?

val logSchema = StructType(Array(StructField("tablename", StringType, true), StructField("filename", StringType, true), StructField("number_of_rows", StringType, true), StructField("loadtime", StringType, true), StructField("statusdetail", StringType, true)))

1 个答案:

答案 0 :(得分:1)

您始终可以通过saveToCassandra插入CassandraRow对象的RDD,这些对象不必具有明确的架构。

这样的东西
rdd : RDD[Map[String, Any]]
rdd.map( row => CassandraRow.fromMap(row).saveToCassandra )

http://datastax.github.io/spark-cassandra-connector/ApiDocs/1.6.0-M2/spark-cassandra-connector/#com.datastax.spark.connector.CassandraRow