IS Es ist möglich, einen JSON-Serde mit RC- oder ORC-Dateiformaten zu verwenden? Ich versuche, in eine Hive-Tabelle mit dem Dateiformat ORC einzufügen und auf dem azurblauen Blob in serialisiertem JSON zu speichern.Hive Json SerDE für ORC- oder RC-Format
2
A
Antwort
1
Offenbar nicht
insert overwrite local directory '/home/cloudera/local/mytable'
stored as orc
select '{"mycol":123,"mystring","Hello"}'
;
create external table verify_data (rec string)
stored as orc
location 'file:////home/cloudera/local/mytable'
;
select * from verify_data
;
rec
{ "mycol": 123, "mystring", "Hallo"}
create external table mytable (myint int,mystring string)
row format serde 'org.apache.hive.hcatalog.data.JsonSerDe'
stored as orc
location 'file:///home/cloudera/local/mytable'
;
myint mystring
konnte nicht mit Ausnahme java.io.IOException: java.lang.ClassCastException:
org.apache.hadoop.hive.ql.io.orc.OrcStruct kann nicht auf org.apache.hadoop.io.Text
JsonSerDe.java gewirkt:
...
import org.apache.hadoop.io.Text;
...
@Override
public Object deserialize(Writable blob) throws SerDeException {
Text t = (Text) blob;
...
0
Sie können dies tun, indem eine Art Konvertierungsschritt, wie ein Bucketting-Schritt, der ORC-Dateien in einem Zielverzeichnis erzeugt und nach dem Bucketing eine Hive-Tabelle mit demselben Schema einfügt. Wie unten.
CREATE EXTERNAL TABLE my_fact_orc
(
mycol STRING,
mystring INT
)
PARTITIONED BY (dt string)
CLUSTERED BY (some_id) INTO 64 BUCKETS
STORED AS ORC
LOCATION 's3://dev/my_fact_orc'
TBLPROPERTIES ('orc.compress'='SNAPPY');
ALTER TABLE my_fact_orc ADD IF NOT EXISTS PARTITION (dt='2017-09-07') LOCATION 's3://dev/my_fact_orc/dt=2017-09-07';
ALTER TABLE my_fact_orc PARTITION (dt='2017-09-07') SET FILEFORMAT ORC;
SELECT * FROM my_fact_orc WHERE dt='2017-09-07' LIMIT 5;
Verwandte Themen
- 1. JSON SerDe für Hive, das JSON-Arrays unterstützt
- 2. Wie struct Array mit Hive (get_json_object) oder json serde
- 3. Hive Serde Xpath Extract
- 4. HIVE ALTER SERDE COMMAND
- 5. regex für spezifische Trennzeichenfolge in Hive serde
- 6. Zuordnen von Spaltennamen in Hive mit JSON serde
- 7. Serde JSON Serialisierungsfehler?
- 8. Hive - XML- Serde - Schlüsselwertpaar - Tabelle erstellen
- 9. Hive ändern serde Eigenschaften funktioniert nicht
- 10. HIVE Tabelle für JSON erstellen - STRUCT Fehler
- 11. Hive-Tabelle für verschachtelte JSON-Daten erstellen
- 12. Rust & Serde JSON Deserialisierung Beispiele?
- 13. HIVE SERDE REGEX: Ausgabeformat - wollen nur wenige der Ausgangs Strings
- 14. generieren ziemlich (eingekerbt) JSON mit serde
- 15. XML-Daten aus dem Hive-Tabellenfeld in eine andere Hive-Tabelle verschieben erstellt ein Zeilenformat serde
- 16. Jaulen Datensatz Parsen json in hive
- 17. Hive: Parsen von JSON
- 18. Kann nicht validieren serde: org.openx.data.jsonserde.jsonserde
- 19. Einzelne Dateiausgabe von Hive
- 20. Rust Serde JSON-Array mit verschiedenen Objekten/Fehlern?
- 21. HIVE SerDeproperties Eingabe Regex
- 22. Parsing dieses JSON in HIVE
- 23. Json_tuple sagt ungültig json in hive
- 24. Hive - Name des Spaltentyps zu lang
- 25. JSON-Daten-Upload in HIVE-Tabelle mit NoViableAltException/PraseException
- 26. JSON-Bibliothek für C#
- 27. Ableiten Attribut für bestimmte Felder nur, wie serde tut
- 28. Wie man den Java-Code, der auf dem lokalen Rechner geschrieben ist, in Serde für die Hive-Abfrage
- 29. Hive beschreiben erweiterte Tabelle zurück json
- 30. Fehler beim Erstellen von Hive-Tabelle mit "Hive-e", aber nicht in Hive-Shell