我使用s3a从数据库读取数据帧并写入.parquet(s3a://bucketname//文件夹(。它适用于<100列数据帧但崩溃。退出火花壳>100列。如果这是列限制/版本问题/内存问题,则找不到任何材料?希望从经验丰富的社区中找到一些方向。
PS。下面的代码在本地机器上的Eclipse Windows上运行,但在linux实例上出现问题
spark版本-2.4.0-cdh6.3.3scala版本-2.11.12Java版本-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