2013-04-18 37 views
0

我想创建一个包含数据库中所有表的所有数据的大表,然后将此表导出为csv文件,然后将此文件导入到Hbase中? 我的问题是如何从所有数据库表创建bigtable的第一步? 我会感谢任何帮助。 在此先感谢。如何将关系数据库转换为一个Bigtable

+2

只要加入他们所有人,假设他们都可以合理地加入... –

+0

我有成千上万的表 –

+0

那么除非他们都具有相同的结构,那么您需要退后一步。想想你会怎么重新开始,然后看看你是如何获得你现有的数据。 –

回答

1

如果您希望将所有数据转储到HBase或HDFS,您可以使用sqoop将所有表和数据传输到HBase。将所有数据转换为一个大表可能并不高效或可行。请注意,CLOB/BLOB数据的导出无法对CVS文件执行。

+0

好点。你可以使用“sqoop import-all-tables”工具来做到这一点。但是您需要牢记以下几点:(1)每个表必须具有单列主键。 (2)您必须打算导入每个表的所有列。 (3)您不得打算使用非默认分割列,也不得通过WHERE子句施加任何条件。 – Tariq

0

你为什么要那样做?编写MapReduce作业并将输出注入到HBase表中。

1

看看sqoop,可能会有所帮助。

我们用它来将数据从RDBMS存储到Hive表中。至于配置单元,它可以自动创建具有适当列名称和类型的表格。 它还需要split_by选项用于自定义查询,该选项指定如何将数据拆分为块。

+0

谢谢你,我很欣赏你的努力。我使用Sqoop和Hbase –

相关问题