Spark使用数百列处理json数据



我正在LOCAL模式下的scala中为Spark应用程序进行POC。我需要处理一个json数据集,它有300列,但记录更少。我们使用的是Spark SQL,我们的程序在数据集中的30-40列中运行得非常好。我们使用Spark SQL和Where子句中的其他条件进行内部联接和外部联接。问题是SQL没有为300列的联接执行,它只是卡住了。不知道如何分析SQL。有没有解决这个问题的方法,而不必在分布式模式下运行它?在dfs上进行内部联接会缓解问题吗。类似这样的东西,df1.join(df2,col("id1"(==col("id2"(,"inner"(。

感谢

你能提供一些示例代码吗?Json看起来怎么样?你怎么知道spark应用程序只是"卡住"了

在不考虑json嵌套了多少的情况下,通常您可以在上创建一个类似sha256的散列,将所有300列串联起来(并考虑null(,然后加入散列值。

最新更新