【发布时间】:2015-09-21 15:07:55
【问题描述】:
是否可以将处理过的文件(使用 PIG)从本地 HDFS(比如说 192.168.0.10)迁移到 cassandra (192.168.0.20)?
我想到的是,我确实创建了一个 java 应用程序来解析文件并将它们重新插入到 cassandra 中。
还有其他方法吗?
非常感谢!
【问题讨论】:
标签: hadoop cassandra apache-pig
是否可以将处理过的文件(使用 PIG)从本地 HDFS(比如说 192.168.0.10)迁移到 cassandra (192.168.0.20)?
我想到的是,我确实创建了一个 java 应用程序来解析文件并将它们重新插入到 cassandra 中。
还有其他方法吗?
非常感谢!
【问题讨论】:
标签: hadoop cassandra apache-pig
编写一个 Java 程序将 Hadoop 数据迁移到 Cassandra 表实际上是一种矫枉过正。如果您碰巧定期执行相同的操作,情况会变得更糟。
相反,我们可以利用 Hive 的一个非常有用的特性,它可以帮助我们将 Hive 表与外部数据源集成。 hive的Storage Handler Api,与Cassandra/Oracle/Mysql等外部数据源集成。
已经有一个Hive-Cassandra Storage Handler API 实现可用,我们可以很好地重用它,请在下面的网址中找到它。
https://github.com/tuplejump/cash/tree/master/cassandra-handler
这个想法是创建配置有关于远程 Cassandra 主机/表详细信息的存储处理程序规范的 Hive 外部表。
对此外部表执行的任何写入/读取操作都将由 Hive 通过与 Cassandra 对话的 mapreduce 作业处理。
我希望这是集成 Hive 和 Cassandra 的理想方式,这需要我们付出的努力非常少,而且效率也很高。
希望这会有所帮助。
【讨论】:
有几种方法可以将数据从 Hadoop 移动到 Cassandra。
在所有 Pig 中,将数据从 HDFS 加载到 Cassandra 是一种更简单的方法。 Pig 有一种称为 CassandraStorage 的存储类型。它允许我们将数据并行加载到 Cassandra。
请参阅此链接了解更多信息: https://wiki.apache.org/cassandra/HadoopSupport#Pig
【讨论】: