- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
尝试从使用 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 支持的情况下构建的。我已经打开了一个错误来为下一张图片修复这个问题。
解决方法:
首先创建一个小的 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/
将新的 shell 脚本复制到您拥有的 GCS 存储桶中。出于演示目的,我们假设存储桶是 dataproc-actions
:
gsutil cp ./setup-snappy.sh gs://dataproc-actions/setup-snappy.sh
启动集群时,指定初始化 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/
我有一个初始化脚本,它从我们的本地工件存储库下载一个 .jar,并将其放入集群上每个节点上的 /usr/local/bin 中。我可以使用 运行它 gcloud dataproc jobs submi
我创建了一个简单的管道,它从 SQL Server 表读取并写入 BigQuery 表。然后我将其配置为使用 Spark 并部署和运行。它首先配置 dataproc 集群,我可以看到它相对快速地创建了
我正在尝试使用云指标监控 Dataproc 2.0 上的本地磁盘使用情况(百分比)。这对于监视 Spark 临时文件填满磁盘的情况很有用。 默认情况下,Dataproc 似乎只发送本地磁盘性能指标、C
我希望在我的 dataproc 集群的每个节点上设置一个环境变量,以便它可用于将在该集群上运行的 pyspark 作业。做这个的最好方式是什么? 我想知道是否有办法使用 Compute Engine
我正在尝试在 Dataproc 工作流模板中设置自动区域放置 我正在尝试在 Dataproc 工作流模板中设置自动区域放置,就像在 create a cluster 时所做的一样没有模板工作流 谷歌云
我正在考虑运行一个托管 Hive 服务器的持久性 GCP Dataproc 集群,该集群将提供 HiveQL 接口(interface),用于查询和更新存储在 Google Cloud Storage
刚开始熟悉 GCP dataproc。我注意到当我使用 gcloud dataproc jobs submit pyspark 时,作业是使用 spark.submit.deployMode=clie
我正在运行 PySpark 作业,但我无法确定工作进程失败的原因。 当我的作业正在运行时,我开始注意到作业输出中的堆栈跟踪,例如: 16/04/10 03:24:21 WARN org.apache.
我正在考虑运行一个托管 Hive 服务器的持久性 GCP Dataproc 集群,该集群将提供 HiveQL 接口(interface),用于查询和更新存储在 Google Cloud Storage
我正在尝试使用初始化脚本设置集群,但出现以下错误:[错误的 JSON:JSON 解析错误:意外的标识符“Google”]在日志文件夹中,初始化脚本输出日志不存在。这看起来很奇怪,因为它似乎在上周工作,
dataproc spark 作业日志位于何处?我知道“日志记录”部分下有来自驱动程序的日志,但是执行节点呢?另外,Spark 正在执行的详细步骤记录在哪里(我知道我可以在 Application M
我在 1 个集群上使用 Dataproc 和 1 个作业。 我想在创建集群后立即开始我的工作。我发现实现此目的的最佳方法是使用如下初始化脚本提交作业。 function submit_job() {
如何将参数传递到 dataproc pyspark 作业提交中调用的 python 脚本中?这是我一直在使用的命令: gcloud dataproc jobs submit pyspark --cl
Dataproc 没有与 Apache Ranger 和 Apache Sentry 的内置集成。那么Hive中推荐的用户授权方式是什么? 我是 Dataproc 的新手,您的回答真的很有帮助。 最佳
我使用 mysql 客户端从 dataproc 的主节点登录到 mysql 服务器,但现在失败了。 使用以下命令 mysql -uroot -p 我现在看到以下错误消息。 mysql: [Warnin
我想使用 Jupyter/iPython在 Cloud Dataproc .如何在创建新集群时自动安装和配置它? 最佳答案 Cloud Dataproc 团队有一个 GitHub repository
调试很慢。不清楚是否接受多个参数。文档字符串错误/不标准。 例如我们可以这样做: --initialization-actions a b c 当它失败时,如何在几秒钟而不是几分钟内调试......即
在创建我们的 Dataproc Spark 集群时,我们通过--properties spark:spark.jars.packages=mysql:mysql-connector-java:6.0.
我正在使用 Dataproc 工作流模板来运行 Sparkjob。我想将输入文件动态传递给 Sparkjob args,同时通过 Dataproc 工作流模板实例化它。我怎样才能实现它? 最佳答案 见
我运行多个批处理作业,我想将 dataproc 中的 jobId 引用到保存的输出文件中。 这将允许所有参数日志和与结果相关的输出。缺点仍然存在:随着 YARN 中的执行器消失,无法再获取单个执行器的
我是一名优秀的程序员,十分优秀!