Short answer: no, it will not work and you need to copy it to HDFS first.

IIRC, the bulk load code is ultimately calling a filesystem rename from the path you provided to the proper location in the hbase.rootdir's filesystem. I don't believe that an `fs.rename` is going to work across filesystems because you can't do this atomically, which HDFS guarantees for the rename method [1]

Additionally, for Kerberos-secured clusters, the server-side bulk load logic expects that the filesystem hosting your hfiles is HDFS (in order to read the files with the appropriate authentication). This fails right now, but is something our PeterS is looking at.

[1] https://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-common/filesystem/filesystem.html#boolean_rename.28Path_src.2C_Path_d.29

On 10/31/19 6:55 AM, Wellington Chevreuil wrote:
I believe you can specify your s3 path for the hfiles directly, as hdfs
FileSystem does support s3a scheme, but you would need to add your s3
access and secret key to your completebulkload configuration.

Em qua, 30 de out de 2019 às 19:43, Gautham Acharya <
gauth...@alleninstitute.org> escreveu:

If I have Hfiles stored in S3, can I run CompleteBulkLoad and provide an
S3 Endpoint to run a single command, or do I need to first copy the S3
Hfiles to HDFS first? The documentation is not very clear.


Reply via email to