gpt4 book ai didi

hadoop - 如何在使用 Google Cloud Dataproc 启动的 Spark 集群中启用 Snappy 编解码器支持?

转载 作者:可可西里 更新时间:2023-11-01 14:26:38 26 4
gpt4 key购买 nike

尝试从使用 Google Cloud Dataproc 启动的 Spark 集群读取 Snappy 压缩序列文件时,我收到以下警告:

java.lang.RuntimeException: native snappy library not available: this version of libhadoop was built without snappy support.

在此上下文中启用 Snappy 编解码器支持的最佳方法是什么?

最佳答案

遗憾的是,Dataproc 的启动图像是在没有 Snappy 支持的情况下构建的。我已经打开了一个错误来为下一张图片修复这个问题。

解决方法:

  1. 首先创建一个小的 shell 脚本来正确安装 snappy 和原生库支持。为此,我们将使用 bdutil 使用的相同本地库。我将脚本命名为 setup-snappy.sh:

    #!/bin/bash

    pushd "$(mktemp -d)"
    apt-get install -q -y libsnappy1
    wget https://storage.googleapis.com/hadoop-native-dist/Hadoop_2.7.1-Linux-amd64-64.tar.gz
    tar zxvf Hadoop_2.7.1-Linux-amd64-64.tar.gz -C /usr/lib/hadoop/
  2. 将新的 shell 脚本复制到您拥有的 GCS 存储桶中。出于演示目的,我们假设存储桶是 dataproc-actions:

    gsutil cp ./setup-snappy.sh gs://dataproc-actions/setup-snappy.sh
  3. 启动集群时,指定初始化 Action :

    gcloud beta dataproc clusters create --initialization-actions gs://dataproc-actions/setup-snappy.sh mycluster

关于hadoop - 如何在使用 Google Cloud Dataproc 启动的 Spark 集群中启用 Snappy 编解码器支持?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32833095/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com