Распаковка сжатых данных LZ4 в Spark
У меня есть сжатые данные LZ4 в HDFS, и я пытаюсь распаковать их в Apache Spark в RDD. Насколько я могу сказать, единственный метод в JavaSparkContext
читать данные из HDFS - это textFile
который читает только данные, как в HDFS. Я наткнулся на статьи о CompressionCodec
но все они объясняют, как сжать вывод в HDFS, тогда как мне нужно распаковать то, что уже есть в HDFS.
Я новичок в Spark, поэтому заранее прошу прощения, если я пропустил что-то очевидное или если мое концептуальное понимание неверно, но было бы здорово, если бы кто-то мог указать мне правильное направление.
1 ответ
Spark 1.1.0 поддерживает чтение сжатых файлов LZ4 через sc.textFile
, У меня это работает, используя Spark, который построен с Hadoop, который поддерживает LZ4 (2.4.1 в моем случае)
После этого я создал собственные библиотеки для своей платформы, как описано в документации по Hadoop, и связал их со Spark через --driver-library-path
вариант.
Без ссылки были native lz4 library not loaded
исключения.
В зависимости от дистрибутива Hadoop, который вы используете, сборка собственных библиотек может быть необязательной.