2016-09-08 5 views
2

ich gerade aktualisiert, um Spark 2.0.0 und ich möchte, dass meine Parkett Dateien in SparkR lesen:Funken 2.0.0 - Parkett lesen leere Tabelle

library(SparkR, lib.loc = c(file.path(Sys.getenv("SPARK_HOME"), "R", "lib"))) 
sparkR.session(master = "local[*]", sparkConfig = list(spark.driver.memory = "2g"), sparkPackages = "com.databricks:spark-avro_2.11:3.0.0") 

df1 <- read.parquet("my.parquet") 

Aber die SparkDataFrame kehrt leer. Wenn ich es sammle, bekomme ich meine Variablen/Spalten, aber keine Zeilen. Aber dieser Code funktioniert gut für parquet Ich generierte mit Spark 1.6.2.

Dieses Parkett Datei in einem anderen file.scala und Spark 2.0.0 hergestellt.

myDf.write.format("parquet").mode("overwrite") 
.option("header", "true") 
.option("parquet.enable.summary-metadata","true").save("my.parquet") 

Vom Release Notes „Beim Schreiben Parkett Dateien werden die Zusammenfassungsdateien nicht standardmäßig geschrieben es wieder zu aktivieren, Benutzer muss “parquet.enable.summary-metadata” zu true. setzen ", was ich tat.

myDf nicht leer ist, wie ich es aus mit show() drucken kann, und Dateien werden in der Regel durch den Schreib erstellt:

./_common_metadata 
./_metadata 
./_SUCCESS 
./part-r-00000-6235ae25-fb7b-472b-9f0e-139907759393.snappy.parquet 
./part-r-00001-6235ae25-fb7b-472b-9f0e-139907759393.snappy.parquet 
./part-r-00002-6235ae25-fb7b-472b-9f0e-139907759393.snappy.parquet 
./part-r-00003-6235ae25-fb7b-472b-9f0e-139907759393.snappy.parquet 
./part-r-00004-6235ae25-fb7b-472b-9f0e-139907759393.snappy.parquet 
./part-r-00005-6235ae25-fb7b-472b-9f0e-139907759393.snappy.parquet 
./part-r-00006-6235ae25-fb7b-472b-9f0e-139907759393.snappy.parquet 
./part-r-00007-6235ae25-fb7b-472b-9f0e-139907759393.snappy.parquet 
./part-r-00008-6235ae25-fb7b-472b-9f0e-139907759393.snappy.parquet 
./part-r-00009-6235ae25-fb7b-472b-9f0e-139907759393.snappy.parquet 
./part-r-00010-6235ae25-fb7b-472b-9f0e-139907759393.snappy.parquet 
./part-r-00011-6235ae25-fb7b-472b-9f0e-139907759393.snappy.parquet 
./part-r-00012-6235ae25-fb7b-472b-9f0e-139907759393.snappy.parquet 
./part-r-00013-6235ae25-fb7b-472b-9f0e-139907759393.snappy.parquet 
./part-r-00014-6235ae25-fb7b-472b-9f0e-139907759393.snappy.parquet 
./part-r-00015-6235ae25-fb7b-472b-9f0e-139907759393.snappy.parquet 
./part-r-00016-6235ae25-fb7b-472b-9f0e-139907759393.snappy.parquet 
./part-r-00017-6235ae25-fb7b-472b-9f0e-139907759393.snappy.parquet 
./part-r-00018-6235ae25-fb7b-472b-9f0e-139907759393.snappy.parquet 
./part-r-00019-6235ae25-fb7b-472b-9f0e-139907759393.snappy.parquet 
./part-r-00020-6235ae25-fb7b-472b-9f0e-139907759393.snappy.parquet 
./part-r-00021-6235ae25-fb7b-472b-9f0e-139907759393.snappy.parquet 
./part-r-00022-6235ae25-fb7b-472b-9f0e-139907759393.snappy.parquet 
./part-r-00023-6235ae25-fb7b-472b-9f0e-139907759393.snappy.parquet 
./part-r-00024-6235ae25-fb7b-472b-9f0e-139907759393.snappy.parquet 
./part-r-00025-6235ae25-fb7b-472b-9f0e-139907759393.snappy.parquet 
./part-r-00026-6235ae25-fb7b-472b-9f0e-139907759393.snappy.parquet 
./part-r-00027-6235ae25-fb7b-472b-9f0e-139907759393.snappy.parquet 
./part-r-00028-6235ae25-fb7b-472b-9f0e-139907759393.snappy.parquet 
./part-r-00029-6235ae25-fb7b-472b-9f0e-139907759393.snappy.parquet 

Entweder myDF geschrieben korrekt aber nicht richtig eingelegt, oder es geschrieben ist nicht richtig . Irgendwelche Erkenntnisse darüber, was passieren könnte?

Antwort

1

Es war tatsächlich nicht das Parkett richtig schreiben.

Ich habe meinen Job mit --packages "com.databricks:spark-csv_2.10:1.2.0" in der Befehlszeile ausgeführt. Jedoch jetzt spark-csv ist in Spark 2.0.0 enthalten, und ich rief die falsche Version davon an. Durch das Entfernen des Paketbefehls wurde das Problem behoben.

Verwandte Themen