我手头有一个问题声明,我想在spark-sql/pyspark中取消对表的删除.我已经阅读了文档,我可以看到只支持pivot,但到目前为止还没有支持un-pivot.有没有办法实现这个目标?
让我的初始表看起来像这样:
当我使用下面提到的命令在pyspark中进行调整时:
df.groupBy("A").pivot("B").sum("C")
Run Code Online (Sandbox Code Playgroud)
我把它作为输出:
现在我想取消转动的表格.通常,此操作可能会/可能不会根据我转动原始表的方式产生原始表.
到目前为止,Spark-sql并不提供对unpivot的开箱即用支持.有没有办法实现这个目标?
我想验证 spark-sql 查询在语法上是否正确,而无需在集群上实际运行查询。
实际用例是我正在尝试开发一个用户界面,它接受用户输入 spark-sql 查询,我应该能够验证所提供的查询在语法上是否正确。此外,如果在解析查询后,我可以就最好的火花最佳实践提供有关查询的任何建议。
我对 YARN 中的保留内存到底是什么有疑问?我确实理解它的 YARN 平衡由提交的多个作业引起的内存需求的方式,以便没有作业进入饥饿模式。当内存被释放用于另一项工作时,它会尝试保留内存。
我们使用 AWS EMR 进行运营。我观察到,有时当在我们的集群上提交内存密集型作业(例如 Spark-sql 作业)时,我们的总 3TB RAM 中会保留 1TB RAM。即使只有一个作业在集群上提交/运行并且没有其他作业在等待或排队,我也观察到了这一点。有时会在 5-15 分钟的范围内间歇性地观察到内存峰值,然后降至可管理的水平,甚至为 0。
有人可以解释一下这是否是正常行为。如果正常的话请详细解释一下。否则,如果存在一些可能的配置错误可能会触发此问题,请帮助我解决此问题。
注意 -> 我们在 EMR 5.0.0 上有 R4 8xlarge 10 节点集群。
提前致谢
曼尼什·梅赫拉
amazon-web-services amazon-emr emr apache-spark apache-spark-sql
集群上的节点处于不健康状态的原因有哪些?
根据我有限的理解,当给定节点上的 HDFS 利用率超过阈值时,通常会发生这种情况。此阈值是使用 max-disk-utilization-per-disk-percentage 属性定义的。
我有时观察到在 Spark-sql 上触发内存密集型 Spark 作业或使用 pyspark 节点进入不健康状态。经过进一步查看,我在处于不健康状态的节点上进行了 ssh,发现实际上 dfs 利用率低于 75%,并且在我的集群上为上述属性设置的值是 99。
所以我认为我遗漏了一些其他事实,这基本上导致了这种行为。
在此先感谢您的帮助。
曼尼什·梅赫拉