gpt4 book ai didi

apache-spark - Apache spark 没有给出正确的输出

转载 作者:行者123 更新时间:2023-12-04 04:14:21 25 4
gpt4 key购买 nike

我是初学者,想了解 spark。我正在使用 spark-shell 并进行一些实验以快速获得结果我想从 spark worker 节点获得结果。

我总共有两台机器,其中一台机器上有一个司机和一个 worker ,另一台机器上有另一个 worker 。

当我想获得计数时,结果不是来自两个节点。我有一个 JSON 文件要读取并进行一些性能检查。

代码如下:

spark-shell --conf spark.sql.warehouse.dir=C:\spark-warehouse --master spark://192.168.0.31:7077
val sqlContext = new org.apache.spark.sql.SQLContext(sc)
val dfs = sqlContext.read.json("file:///C:/order.json")
dfs.count

我在两台机器上都分发了 order.JSON 文件。但后来我也得到了不同的输出

最佳答案

1.如果您在不同的节点上运行您的 spark,那么您必须具有 S3 或 HDFS 路径,确保每个节点都可以访问您的数据源。

val dfs = sqlContext.read.json("file:///C:/order.json")

改为

val dfs = sqlContext.read.json("HDFS://order.json")

2.如果你的数据源很小,那么你可以尝试使用Spark broadcast将这些数据共享给其他节点,这样每个节点的数据都是一致的。 https://spark.apache.org/docs/latest/rdd-programming-guide.html#shared-variables

3.为了在控制台打印日志请在您的 spark conf 文件夹中配置您的 log4j 文件。详情访问Override Spark log4j configurations

关于apache-spark - Apache spark 没有给出正确的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45605498/

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