您好我正在使用python编写spark并将数据帧写入表中,表格是hive外部并存储在AWS S3上
下面是命令: sqlContext.sql(selectQuery).write.mode(" overwrite")。format(trgFormat).option(" compression",trgCompression).save(trgDataFileBase)
以下是错误
ERROR ResourceLeakDetector:LEAK:ByteBuf.release()在被垃圾收集之前没有被调用。启用高级泄漏报告以找出泄漏发生的位置。要启用高级泄漏报告,请指定JVM选项' -Dio.netty.leakDetection.level = advanced'或者调用ResourceLeakDetector.setLevel()有关详细信息,请参阅http://netty.io/wiki/reference-counted-objects.html。
火花总和: spark-submit --master yarn --queue default --deploy-mode client --num-executors 10 --executor-memory 12g --executor-cores 2 --conf spark.debug.maxToStringFields = 100 --conf spark。 yarn.executor.memoryOverhead = 2048答案 0 :(得分:0)
创建一个临时表,例如trgDataFileBasetmp
,然后使用相同的定义在s3上创建该表。您将需要定义中的所有参数,例如SERDEPROPERTIES
,TBLPROPERTIES
。在这里,我的区别是saveAsTable
:
sqlContext.sql(selectQuery).write.mode("overwrite").format(trgFormat).option("compression", trgCompression).saveAsTable(trgDataFileBase)
如果这不起作用,那么您可以开始:
sqlContext.sql(selectQuery).write.mode("overwrite").saveAsTable(trgDataFileBase)