Ich versuche, Funken sql kleine Dateien Problem mit dem oben genannten Ansatz zu lösen, in meiner Organisation Benutzer übergeben in SQL-Anweisungen zum Beispiel.separate Select-Klausel und Einfügen von Klausel aus SQL-String
insert overwrite table x partition (column1) select * from y;
Ich kann die oben SQL in Funken SQL Problem laufen ist es kleine Dateien erzeugt im Vergleich mit Bienenstock, die hat (merge kleine Dateien = true) Option etc ..., die nicht SQL in Funken funktionieren.
Ich kam mit einer Arbeit um wie Benutzer sql Anweisung nehmen und in zwei Teile select-Klausel und Einfügeklausel, von der Select-Klausel Datenframe zuerst erstellen und schätzen Größe und berechnen Ausgabedateien und Einfügen in Zieltabelle unten ist die Beispiel.
val df=sqlContext.sql(select * from y)
val size=SizeEstimator.estimate(df)
val outputFiles=size/256000
df.coleasce(outputFiles).wirte.mode.Append("x partition (column1)")
Gibt es eine Regex-Funktion oder eine Bibliothek in Java/Scala, die select-Klausel trennen kann und Klausel aus einem SQL-Zeichenfolge einfügen?
Dank