我想使用 Spark 2.2 版和 Hadoop 最新版 3.1。我可以手动集成 Spark 和 Hadoop 吗?
我已经在 Hadoop 2.6 或更高版本中安装了 Spark 2.2,但我想更新 Hadoop。是否可以使用 Hadoop 文件夹在 Spark 中找到 Hadoop 目录?
我已经下载了没有 hadoop 的 Spark 2.2 和 hadoop 3.1.0。两者都在运行,但是当我使用 hadoop_home 配置 spark.env.sh.template 文件时,它不起作用。任何人都可以分享正确的配置吗?
谢谢
我在本地模式下使用 Spark 2.1,我正在运行这个简单的应用程序。
val N = 10 << 20
sparkSession.conf.set("spark.sql.shuffle.partitions", "5")
sparkSession.conf.set("spark.sql.autoBroadcastJoinThreshold", (N + 1).toString)
sparkSession.conf.set("spark.sql.join.preferSortMergeJoin", "false")
val df1 = sparkSession.range(N).selectExpr(s"id as k1")
val df2 = sparkSession.range(N / 5).selectExpr(s"id * 3 as k2")
df1.join(df2, col("k1") === col("k2")).count()
Run Code Online (Sandbox Code Playgroud)
在这里,范围(N)创建了一个Long数据集(具有唯一值),所以我假设的大小
- df1 = N * 8 字节 ~ 80MB
- df2 = N / 5 * 8 字节 ~ 16MB
好的,现在让我们以 df1 为例。 df1 由 8 个分区和5 个 shuffledRDDs 组成,所以我假设
- 映射器数量 (M) = 8
- 减速器数量 (R) = 5
由于分区数较低,Spark …