将blob数据从RDBMS(Sybase)导入到Cassandra

时间:2016-12-11 09:00:49

标签: cassandra datastax datastax-enterprise

我正在尝试使用DataStax Enterprise(DSE)5.0将大型blob数据(大约10 TB)从RDBMS(Sybase ASE)导入Cassandra。

在DSE 5.0中,sqoop仍然是推荐的方法吗?根据发行说明(http://docs.datastax.com/en/latest-dse/datastax_enterprise/RNdse.html):

  

Hadoop和Sqoop已弃用。请改用Spark。 (DSP-7848)

那么我应该使用带有JDBC数据源的Spark SQL从Sybase加载数据,然后将数据框保存到Cassandra表中吗?

有更好的方法吗?任何帮助/建议将不胜感激。

编辑:根据DSE文档(http://docs.datastax.com/en/latest-dse/datastax_enterprise/spark/sparkIntro.html),不支持从spark写入blob列。

  

不支持以下Spark功能和API:

     

从Spark

写入blob列      

支持读取所有类型的列;但是,在序列化之前,必须将blob集合转换为字节数组。

1 个答案:

答案 0 :(得分:0)

大数据集的ETL的Spark是首选,因为它执行分布式的injest。 Oracle数据可以加载到Spark RDD或数据框中,然后只使用saveToCassandra(keyspace,tablename)。 2016年Cassandra峰会由Jim Hatcher发表演讲Using Spark to Load Oracle Data into Cassandra,深入讨论了这个主题并提供了示例。

Sqoop已弃用,但仍应在DSE 5.0中使用。如果它是一次性负载并且您已经对Squoop感到满意,那就试试吧。