在 linux 机器上使用 s3a 对于 >100 列镶木地板失败

Using s3a on linux machine fail for >100 columns parquet

我正在使用 s3a 从数据库读取数据帧并写入 .parquet(s3a://bucketname//folder)。 它适用于 <100 列数据框,但 crashes.exits spark-shell 适用于 >~100 列。如果这是列 limitation/version issue/memory 问题,找不到任何 material? 希望从有经验的社区中找到一些方向。

PS。与下面相同的代码适用于我本地计算机上的 Eclipse Windows,但在 linux 实例

上运行

spark 版本- 2.4.0-cdh6.3.3 Scala 版本 - 2.11.12 Java 版本- 1.8

def execute(sql:String) = {//defined connection }
val df_sql = ("select * from sampletable")
val df_exe = execute(df_sql)
df_exe.write.parquet(s3a://bucketname/folder)

找到答案,以防有人遇到这个问题。 调用 spark-submit 时,增加驱动程序内存以适应正在写入的文件的 1 个分区。我用了16g