我有一大堆 HBase sql 语句,我需要针对现有的 HBase 数据库实例运行这些语句。
SQL 语句是纯文本的,并且数据库在本机文件系统(而不是 HDFS)上运行。因此,我没有运行 Hadoop 实例。
我目前在 hbase shell 上运行这些 SQL 语句,但这个过程真的很慢。我知道如果 Hadoop 正在运行,我可以分配映射器来执行并行插入,但是有没有更快的方法来进行批量加载而不使用 Hadoop 实例?
由于 Hadoop(更具体地说是 MR)旨在更快地处理批量数据(大数据),因此它适合您的要求。
在 HDFS 上创建 StoreFiles,然后使用 CompleteBulkLoad 方法将数据从 StoreFile 加载到表中。
不使用 Hadoop 实例的任何具体原因?
HBase 提供 ImportTSV API 用于批量上传
这是 ImportTSv API 的示例
在这里,我尝试从 hdfs 上传数据。您可以尝试使用 ImportTSV 从本地文件系统上传数据。如果不起作用,则在 HDFS 之上运行 Hbase