Guardar el marco de datos en el sistema de archivos local da como resultado resultados vacíos

Estamos ejecutando spark 2.3.0 enAWW EMR. El seguimientoDataFrame "df "no está vacío y tiene un tamaño modesto:

scala> df.count
res0: Long = 4067

El siguiente código funciona bien para escribirdf ahdfs:

   scala> val hdf = spark.read.parquet("/tmp/topVendors")
hdf: org.apache.spark.sql.DataFrame = [displayName: string, cnt: bigint]

scala> hdf.count
res4: Long = 4067

Sin embargo, usando el mismo código para escribir en un @ locparquet ocsv el archivo termina con resultados vacíos:

df.repartition(1).write.mode("overwrite").parquet("file:///tmp/topVendors")

scala> val locdf = spark.read.parquet("file:///tmp/topVendors")
org.apache.spark.sql.AnalysisException: Unable to infer schema for Parquet. It must be specified manually.;
  at org.apache.spark.sql.execution.datasources.DataSource$anonfun$9.apply(DataSource.scala:207)
  at org.apache.spark.sql.execution.datasources.DataSource$anonfun$9.apply(DataSource.scala:207)
  at scala.Option.getOrElse(Option.scala:121)

Podemos ver por qué falla:

 ls -l /tmp/topVendors
total 0
-rw-r--r-- 1 hadoop hadoop 0 Jul 30 22:38 _SUCCESS

Entonces alli estan archivo de parquet que se está escribiendo.

He intentado esto tal vez veinte veces y para amboscsv yparquet y en dos diferentesEMR Servidores: este mismo comportamiento se exhibe en todos los casos.

¿Es esto unEMR error específico? Un @ más generEC2 ¿error? ¿Algo más? Este código funciona enspark enmacos.

En caso de que sea importante, aquí está la información de versiones:

Release label:emr-5.13.0
Hadoop distribution:Amazon 2.8.3
Applications:Spark 2.3.0, Hive 2.3.2, Zeppelin 0.7.3

Respuestas a la pregunta(2)

Su respuesta a la pregunta