0

我有一大堆 HBase sql 语句,我需要针对现有的 HBase 数据库实例运行这些语句。

SQL 语句是纯文本的,并且数据库在本机文件系统(而不是 HDFS)上运行。因此,我没有运行 Hadoop 实例。

我目前在 hbase shell 上运行这些 SQL 语句,但这个过程真的很慢。我知道如果 Hadoop 正在运行,我可以分配映射器来执行并行插入,但是有没有更快的方法来进行批量加载而不使用 Hadoop 实例?

4

2 回答 2

1

由于 Hadoop(更具体地说是 MR)旨在更快地处理批量数据(大数据),因此它适合您的要求。

在 HDFS 上创建 StoreFiles,然后使用 CompleteBulkLoad 方法将数据从 StoreFile 加载到表中。

不使用 Hadoop 实例的任何具体原因?

于 2013-03-21T05:42:05.517 回答
0

HBase 提供 ImportTSV API 用于批量上传

这是 ImportTSv API 的示例

http://souravgulati.webs.com/apps/forums/topics/show/8617965-hbase-bulk-upload-using-importtsv-in-hbase-table

在这里,我尝试从 hdfs 上传数据。您可以尝试使用 ImportTSV 从本地文件系统上传数据。如果不起作用,则在 HDFS 之上运行 Hbase

于 2013-03-21T05:48:05.693 回答