ho una struttura di directory basata su due partizioni, in questo modo:risparmio al parquet sottopartizione
People
> surname=Doe
> name=John
> name=Joe
> surname=White
> name=Josh
> name=Julien
sto leggendo i file in parquet con le informazioni solo circa tutto fa, e dunque sono direttamente specificando cognome = Doe come directory di output per il mio DataFrame. Ora il problema è che sto cercando di aggiungere il partizionamento basato sul nome con partitionBy("name")
sulla scrittura.
df.write.partitionBy("name").parquet(outputDir)
(OutputDir contiene un percorso a directory Doe)
Questo causa un errore come di seguito:
Caused by: java.lang.AssertionError: assertion failed: Conflicting partition column names detected:
Partition column name list #0: surname, name
Partition column name list #1: surname
Eventuali suggerimenti come risolverlo? Probabilmente si verifica a causa del file _SUCCESS
creato nella directory del cognome, che fornisce suggerimenti errati a Spark - quando rimuovo i file _SUCCESS
e _metadata
Spark è in grado di leggere tutto senza problemi.
Poiché nessun altro ha scritto e la mia generosità scade , Accetto questa soluzione come l'unica conosciuta per ora. – Niemand
Questo ha funzionato per me per Spark 1.6.3 'sc._jsc.hadoopConfiguration(). Set (" mapreduce.fileoutputcommitter.marksuccessfuljobs "," false ") sc._jsc.hadoopConfiguration(). Set (" parquet.enable.summary -metadata "," false ")' – Vezir