Ich möchte eine vorhandene Tabelle, die Textformat enthält, in das ORC-Format ändern. Ich konnte es tun, indem: (1) Erstellen einer Tabelle im Ork-Format manuell mit den Partitionen und dann (2) mithilfe der INSERT OVERWRITE-Anweisung, um die Tabelle aufzufüllen.CTAS mit dynamischer Partition
Ich versuche, CTAS (Create Table ... AS Select ...) Anweisung dafür zu verwenden. Gibt es eine Möglichkeit, die dynamische Partitionierung mit CTAS-Anweisung aufzunehmen? Also, wenn mein Text-Datensatz hat mehrere Partitionen (zum Beispiel: Jahr und Monat), kann ich dies direkt in CTAS-Anweisung zeigen?
könnte das Format so etwas wie diese:
CREATE TABLE TEST_TABLE
STORED AS ORC
WITH PARTITION(year, month)
LOCATION '/<my_location>'
tblproperties ("orc.compress"="SNAPPY")
AS SELECT * FROM <existing_table>;
Jede Idee, bitte?
Hinweis: Der Grund, warum ich mich für CTAS-Anweisung interessiert, ist wie folgt: Mit dieser Anweisung muss ich nicht wirklich auf jeden einzelnen Spaltennamen hinweisen. Aber wenn ich eine Ork-basierte Tabelle erstellen und dann manuell auffüllen, musste ich beim Erstellen der Tabelle alle Spalten angeben. Das ist in Ordnung; aber, keine gute Idee, wenn meine vorhandene Tabelle viele Spalten enthält.
Das bedeutet, ich muss es manuell tun. Vielen Dank! – Tanvir