是否有可能从本地HDFS(可以说是192.168.0.10)迁移/复制/复制/移动已处理文件(使用PIG)到cassandra(192.168.0.20)?HDFS到Cassandra
我脑子里想的是,我从字面上创建了一个java应用程序来解析文件并将它们重新插入到cassandra中。
有没有其他办法呢?
非常感谢!
是否有可能从本地HDFS(可以说是192.168.0.10)迁移/复制/复制/移动已处理文件(使用PIG)到cassandra(192.168.0.20)?HDFS到Cassandra
我脑子里想的是,我从字面上创建了一个java应用程序来解析文件并将它们重新插入到cassandra中。
有没有其他办法呢?
非常感谢!
编写一个Java程序将Hadoop数据迁移到Cassandra表中实际上是一种矫枉过正。如果你偶尔执行相同的操作,情况会变得更糟。
相反,我们可以利用Hive的一个非常有用的功能,它可以帮助我们将Hive表与外部数据源集成在一起。它存储处理器API蜂巢,这与像卡桑德拉/甲骨文/ MySQL的等
已经有一个Hive-Cassandra Storage Handler API
实现可用,我们可以很好地重用外部数据源的集成,请找到下面的网址相同。
https://github.com/tuplejump/cash/tree/master/cassandra-handler
的想法是创建,其被配置与关于远程卡桑德拉主机/表的信息存储处理机规格蜂巢外部表。
对此外部表执行的任何写入/读取都将由Hive通过与Cassandra进行会话的mapreduce作业处理。
我希望这是整合Hive和Cassandra的理想方式,它只需要我们很少的努力,而且效率也很高。
希望这会有所帮助。
有几种方法可以将数据从Hadoop移动到Cassandra。
总之猪是更容易的方式从HDFS加载数据到卡桑德拉。 猪有一种名为CassandraStorage的存储类型。它允许我们将数据并行加载到Cassandra中。
请访问以下链接了解更多信息: https://wiki.apache.org/cassandra/HadoopSupport#Pig
谢谢纳迦!我现在仍然试图用猪来做这件事,但有这个错误1070:无法使用导入:[,org.apache.pig.builtin。,org.apache.pig.impl.builtin。]解决CassandraStorage。 – kenlz
欢迎@kenlz,您必须将此CassandraStorage jar添加到猪类路径中。你能否检查CassandraStorage是否可用于储蓄? – Naga
我固定它通过注册罐子猪,但我现在有这个错误错误2245:无法从loadFunc org.apache.cassandra.hadoop.pig.CqlNativeStorage获取架构 似乎没完没了 – kenlz
谢谢你的分享!它绝对比编写Java程序更好!我想我会用Pig cassandra扩展来解决,因为大多数HDFS中的文件都来自猪。 – kenlz