Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache spark spark sql:读取拼花地板分区文件时超出了GC开销限制_Apache Spark - Fatal编程技术网

Apache spark spark sql:读取拼花地板分区文件时超出了GC开销限制

Apache spark spark sql:读取拼花地板分区文件时超出了GC开销限制,apache-spark,Apache Spark,我正在尝试使用sparksql为我的POC从hdfs读取现有的拼花地板文件,但是遇到了OOM错误 我需要读取给定分区日期的所有分区文件。分区如下:date/file\u dir\u id 日期文件夹下有1200个子文件夹 所有这些文件夹下总共有234769.parquet文件(数量不多) 所有.parquet文件的总大小为10g 拼花折叠结构 日期 文件目录1 锉刀1.镶木地板 锉刀2.镶木地板 文件目录2 锉刀3.镶木地板 锉刀3.镶木地板 当我试图读取特定日期的文件时,上面提到的

我正在尝试使用sparksql为我的POC从hdfs读取现有的拼花地板文件,但是遇到了OOM错误

我需要读取给定分区日期的所有分区文件。分区如下:date/file\u dir\u id

  • 日期文件夹下有1200个子文件夹
  • 所有这些文件夹下总共有234769.parquet文件(数量不多)
  • 所有.parquet文件的总大小为10g
  • 拼花折叠结构

  • 日期
    • 文件目录1
      • 锉刀1.镶木地板
      • 锉刀2.镶木地板
    • 文件目录2
      • 锉刀3.镶木地板
      • 锉刀3.镶木地板
  • 当我试图读取特定日期的文件时,上面提到的数字 sparkSession.read().schema(someSchema).parquet(hdfs_path_folder/date=2018-03-05/*)/我得到下面提到的错误

    其他详情

  • 在纱线/簇合模式下运行
  • 火花2.3
  • 4节点群集(32核/128 gb)
  • 5个执行器/4个核心
  • 如果我增加驱动程序内存或执行器内存,则没有帮助。请提供有关如何克服此问题的帮助?

    错误详细信息
    java.lang.OutOfMemoryError:超出GC开销限制
    位于java.util.Arrays.copyOf(未知源)
    位于java.lang.AbstractStringBuilder.ensureCapacityInternal(未知源)
    位于java.lang.AbstractStringBuilder.append(未知源)
    位于java.lang.StringBuffer.append(未知源)
    位于java.net.URI.appendSchemeSpecificPart(未知源)
    位于java.net.URI.toString(未知源)
    位于java.net.URI。(未知源)
    位于org.apache.hadoop.fs.Path.initialize(Path.java:203)
    位于org.apache.hadoop.fs.Path(Path.java:172)
    在org.apache.spark.sql.execution.datasources.InMemoryFileIndex$$anonfun$org$apache$spark$sql$execution$datasources$InMemoryFileIndex$$bulkListLeafFiles$3$$anonfun$7.apply(InMemoryFileIndex.scala:235)
    在org.apache.spark.sql.execution.datasources.InMemoryFileIndex$$anonfun$org$apache$spark$sql$execution$datasources$InMemoryFileIndex$$bulkListLeafFiles$3$$anonfun$7.apply(InMemoryFileIndex.scala:228)
    在scala.collection.TraversableLike$$anonfun$map$1.apply处(TraversableLike.scala:234)
    在scala.collection.TraversableLike$$anonfun$map$1.apply处(TraversableLike.scala:234)
    位于scala.collection.mutable.ArraySeq.foreach(ArraySeq.scala:74)
    位于scala.collection.TraversableLike$class.map(TraversableLike.scala:234)
    位于scala.collection.AbstractTraversable.map(Traversable.scala:104)
    在org.apache.spark.sql.execution.datasources.InMemoryFileIndex$$anonfun$org$apache$spark$sql$execution$datasources$InMemoryFileIndex$$bulkListLeafFiles$3.apply(InMemoryFileIndex.scala:228)
    在org.apache.spark.sql.execution.datasources.InMemoryFileIndex$$anonfun$org$apache$spark$sql$execution$datasources$InMemoryFileIndex$$bulkListLeafFiles$3.apply(InMemoryFileIndex.scala:227)
    在scala.collection.TraversableLike$$anonfun$map$1.apply处(TraversableLike.scala:234)
    在scala.collection.TraversableLike$$anonfun$map$1.apply处(TraversableLike.scala:234)
    在scala.collection.IndexedSeqOptimized$class.foreach(IndexedSeqOptimized.scala:33)
    位于scala.collection.mutable.ArrayOps$ofRef.foreach(ArrayOps.scala:186)
    位于scala.collection.TraversableLike$class.map(TraversableLike.scala:234)
    位于scala.collection.mutable.ArrayOps$ofRef.map(ArrayOps.scala:186)
    位于org.apache.spark.sql.execution.datasources.InMemoryFileIndex$.org$apache$spark$sql$execution$datasources$InMemoryFileIndex$$bulklistliffiles(InMemoryFileIndex.scala:227)
    位于org.apache.spark.sql.execution.datasources.InMemoryFileIndex$.org$apache$spark$sql$execution$datasources$InMemoryFileIndex$$listLeafFiles(InMemoryFileIndex.scala:273)
    在org.apache.spark.sql.execution.datasources.InMemoryFileIndex$$anonfun$org$apache$spark$sql$execution$datasources$InMemoryFileIndex$$bulkListLeafFiles$1.apply(InMemoryFileIndex.scala:172)
    在org.apache.spark.sql.execution.datasources.InMemoryFileIndex$$anonfun$org$apache$spark$sql$execution$datasources$InMemoryFileIndex$$bulkListLeafFiles$1.apply(InMemoryFileIndex.scala:171)
    在scala.collection.TraversableLike$$anonfun$map$1.apply处(TraversableLike.scala:234)
    在scala.collection.TraversableLike$$anonfun$map$1.apply处(TraversableLike.scala:234)
    位于scala.collection.mutable.resizeblearray$class.foreach(resizeblearray.scala:59)
    位于scala.collection.mutable.ArrayBuffer.foreach(ArrayBuffer.scala:48)
    
    也遇到了这种情况;驱动程序似乎有足够的内存,GC日志看起来很正常。不确定发生了什么?你解决了这个问题吗?面对同样的问题
    java.lang.OutOfMemoryError: GC overhead limit exceeded
    at java.util.Arrays.copyOf(Unknown Source)
    at java.lang.AbstractStringBuilder.ensureCapacityInternal(Unknown Source)
    at java.lang.AbstractStringBuilder.append(Unknown Source)
    at java.lang.StringBuffer.append(Unknown Source)
    at java.net.URI.appendSchemeSpecificPart(Unknown Source)
    at java.net.URI.toString(Unknown Source)
    at java.net.URI.<init>(Unknown Source)
    at org.apache.hadoop.fs.Path.initialize(Path.java:203)
    at org.apache.hadoop.fs.Path.<init>(Path.java:172)
    at org.apache.spark.sql.execution.datasources.InMemoryFileIndex$$anonfun$org$apache$spark$sql$execution$datasources$InMemoryFileIndex$$bulkListLeafFiles$3$$anonfun$7.apply(InMemoryFileIndex.scala:235)
    at org.apache.spark.sql.execution.datasources.InMemoryFileIndex$$anonfun$org$apache$spark$sql$execution$datasources$InMemoryFileIndex$$bulkListLeafFiles$3$$anonfun$7.apply(InMemoryFileIndex.scala:228)
    at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:234)
    at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:234)
    at scala.collection.mutable.ArraySeq.foreach(ArraySeq.scala:74)
    at scala.collection.TraversableLike$class.map(TraversableLike.scala:234)
    at scala.collection.AbstractTraversable.map(Traversable.scala:104)
    at org.apache.spark.sql.execution.datasources.InMemoryFileIndex$$anonfun$org$apache$spark$sql$execution$datasources$InMemoryFileIndex$$bulkListLeafFiles$3.apply(InMemoryFileIndex.scala:228)
    at org.apache.spark.sql.execution.datasources.InMemoryFileIndex$$anonfun$org$apache$spark$sql$execution$datasources$InMemoryFileIndex$$bulkListLeafFiles$3.apply(InMemoryFileIndex.scala:227)
    at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:234)
    at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:234)
    at scala.collection.IndexedSeqOptimized$class.foreach(IndexedSeqOptimized.scala:33)
    at scala.collection.mutable.ArrayOps$ofRef.foreach(ArrayOps.scala:186)
    at scala.collection.TraversableLike$class.map(TraversableLike.scala:234)
    at scala.collection.mutable.ArrayOps$ofRef.map(ArrayOps.scala:186)
    at org.apache.spark.sql.execution.datasources.InMemoryFileIndex$.org$apache$spark$sql$execution$datasources$InMemoryFileIndex$$bulkListLeafFiles(InMemoryFileIndex.scala:227)
    at org.apache.spark.sql.execution.datasources.InMemoryFileIndex$.org$apache$spark$sql$execution$datasources$InMemoryFileIndex$$listLeafFiles(InMemoryFileIndex.scala:273)
    at org.apache.spark.sql.execution.datasources.InMemoryFileIndex$$anonfun$org$apache$spark$sql$execution$datasources$InMemoryFileIndex$$bulkListLeafFiles$1.apply(InMemoryFileIndex.scala:172)
    at org.apache.spark.sql.execution.datasources.InMemoryFileIndex$$anonfun$org$apache$spark$sql$execution$datasources$InMemoryFileIndex$$bulkListLeafFiles$1.apply(InMemoryFileIndex.scala:171)
    at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:234)
    at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:234)
    at scala.collection.mutable.ResizableArray$class.foreach(ResizableArray.scala:59)
    at scala.collection.mutable.ArrayBuffer.foreach(ArrayBuffer.scala:48)