如果在 Java MapReduce 中使用了 Bulk Load API,如何恢复数据?
How to recover data if Bulk Load API is used in Java MapReduce?
在生产中,我们使用批量加载API通过将两个参数传递给批量加载API(pathToHfile,targetTableName)来将数据加载到Hbase tables。
pathToHfile ---> Hfiles 在 hadoop 中的位置
targetTableName ---> 我们要加载的目标 table
当我们使用批量加载时 API 不会写入 WAL 文件。
但是 WAL 文件用于恢复数据。那么在这种情况下,由于数据没有写入 WAL 文件,我们如何恢复数据?
WAL 用于恢复未写入 HFile 的更改(即来自崩溃的 MemStore)。在批量加载中,您手动创建 HFiles 并将它们交给 HBase。 HBase 中新文件的实际加载是原子的,因此这里不需要恢复机制。
在生产中,我们使用批量加载API通过将两个参数传递给批量加载API(pathToHfile,targetTableName)来将数据加载到Hbase tables。
pathToHfile ---> Hfiles 在 hadoop 中的位置
targetTableName ---> 我们要加载的目标 table
当我们使用批量加载时 API 不会写入 WAL 文件。 但是 WAL 文件用于恢复数据。那么在这种情况下,由于数据没有写入 WAL 文件,我们如何恢复数据?
WAL 用于恢复未写入 HFile 的更改(即来自崩溃的 MemStore)。在批量加载中,您手动创建 HFiles 并将它们交给 HBase。 HBase 中新文件的实际加载是原子的,因此这里不需要恢复机制。