- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
DirectFileOutputCommitter 在 Spark 2.2.0 中不再可用。这意味着写入 S3 需要非常长的时间(3 小时对 2 分钟)。我可以通过在 spark-shell 中将 FileOutputCommitter 版本设置为 2 来解决这个问题,
spark-shell --conf spark.hadoop.mapreduce.fileoutputcommitter.algorithm.version=2
同样不适用于 spark-sql
spark-sql --conf spark.hadoop.mapreduce.fileoutputcommitter.algorithm.version=2
上面的命令似乎设置了 version=2 但是当查询被执行时它仍然显示版本 1 的行为。
两个问题,
1) 如何使用 spark-sql 获取 FileOutputCommitter 版本 2 行为?
2) 有没有办法我仍然可以在 spark 2.2.0 中使用 DirectFileOutputCommitter? [我认为丢失数据的可能性不是零]
相关项目:
最佳答案
我一直被这个问题击中。 Spark 不鼓励使用 DirectFileOutputCommitter,因为它可能会在竞争情况下导致数据丢失。算法版本 2 没有多大帮助。
我尝试使用 gzip 将数据保存在 s3 中,而不是 snappy 压缩,这带来了一些好处。
这里真正的问题是 spark 在 s3://<output_directory>/_temporary/0
中写入首先然后将数据从临时复制到输出。这个过程在 s3 中非常慢,(通常为 6MBPS)所以如果你获得大量数据,你会得到相当大的减速。
另一种方法是先写入 HDFS,然后使用 distcp/s3distcp 将数据复制到 s3。
此外,您可以寻找解决方案 Netflix provided .
我还没有评估过。
编辑:
新的spark2.4版本解决了s3写慢的问题。我发现在最新的 EMR 版本(5.24)中,spark2.4 和 hadoop 2.8 的 s3 写入性能几乎与 HDFS 写入性能相当。
查看文档
关于hadoop - 星火 2.2.0 FileOutputCommitter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46261754/
我已经在 Window 中安装了 Spark。我正在尝试从 D: 驱动器加载文本文件。 RDD 正在正常创建,但是当我对该接收错误执行任何操作时。我尝试了斜线的所有组合但没有成功 scala> val
我正在尝试使用 Spark 的 MLlib 在 Java 上实现 KMeans,我偶然发现了一个问题,那就是,尽管我导入了正确的 jar,但我的编译器无法识别这一行 // Cluster the da
在尝试使用 Databricks 提供的动手实验室执行 spark mllib ALS 时,是否有人知道此错误的可能原因? 14/11/20 23:33:38 WARN Utils: Set SPAR
DataSet 中有 firm 列,我正在向该 DataSet 添加另一列 - firm_id 示例: private val firms: mutable.Map[String, Integer]
DirectFileOutputCommitter 在 Spark 2.2.0 中不再可用。这意味着写入 S3 需要非常长的时间(3 小时对 2 分钟)。我可以通过在 spark-shell 中将 F
在 DataFrame Apache Spark 中的对象(我正在使用 Scala 接口(interface)),如果我正在迭代它的 Row对象,有没有办法按名称提取值?我可以看到如何做一些非常尴尬的
我正在尝试从此处 (Learning Spark book) 运行示例,但出现以下错误: 16/10/07 01:15:26 ERROR Executor: Exception in task 0.0
我从 GH 开发大师那里构建了 Spark 1.4,并且构建顺利。但是当我执行 bin/pyspark 时,我得到了 Python 2.7.9 版本。我该如何更改? 最佳答案 只需设置环境变量: 导出
我开始玩 Spark 2.0.1。新数据集 API 非常干净,但我在执行非常简单的操作时遇到了问题。 也许我遗漏了什么,希望有人能提供帮助。 这些说明 SparkConf conf = new Spa
我有这段代码在 scala 中运行良好: val schema = StructType(Array( StructField("field1", StringType, true),
我正在构建一个 Spark 应用程序,我必须在其中缓存大约 15 GB 的 CSV 文件。我读到了新的 UnifiedMemoryManager Spark 1.6 在这里介绍: https://0x
您好,我正在使用自定义 UDF 对每列中的每个值求平方根。 square_root_UDF = udf(lambda x: math.sqrt(x), DoubleType()) for x in f
我有一个 Apache Spark 应用程序在集群模式下运行在 YARN 集群上(spark 在这个集群上有 3 个节点)。 当应用程序运行时,Spark-UI 显示 2 个执行程序(每个运行在不同的
我有一个有效的 PostgreSQL 查询:当我在 PSQL 中复制/粘贴它时,我得到了想要的结果。 但是,当我使用 Spark SQL 运行时,它会导致 NullPointerException。
我需要使用 spark-sql 读取一个文件,该文件在当前目录中。 我使用此命令解压缩存储在 HDFS 上的文件列表。 val decompressCommand = Seq(laszippath,
提交复制并粘贴到下方的 Spark 应用程序时,我遇到了以下错误。我首先对这个问题进行了一些谷歌搜索,并确定这可能是一个签名 jar 的问题,该签名 jar 作为对我的 jar 构建过程的依赖项被加载
这个问题在这里已经有了答案: How to aggregate values into collection after groupBy? (3 个答案) Spark merge/combine a
我想通过将一个巨大的 csv 文件分割为不同的分区来优化 Spark 应用程序的运行时间,具体取决于它们的特性。 例如。我有一列带有客户 ID(整数,a),一列带有日期(月 + 年,例如 01.201
我在尝试将文件从 hdfs 读取到 Spark 时遇到错误。文件 README.md 存在于 hdfs 中 spark@osboxes hadoop]$ hdfs dfs -ls README.md
一段时间后,无法弄清楚如何在运行 spark-sql 二进制文件时识别以下错误的根本原因: 15/12/08 14:48:41 WARN NativeCodeLoader: Unable to loa
我是一名优秀的程序员,十分优秀!