ich einen Bienenstock-Tabelle mit folgenden Eigenschaften haben -Classcast während ORC-Dateiformat mit Hive zu verwenden, wenn vectorized.execution.enabled
- ORC-Speicherformat
- Transaktions = true
- partitionierten auf 4 Tasten - Jahr , Monat, Tag, Stunde
- von groupingKey bucketed
Ich verwende Hive Streaming, um Daten direkt in Tabellen zu füllen.
Nun mein Problem ist - ich folgende Abfrage
select count(*) from table_name;
Ich erhalte folgende Ausnahme
Caused by: java.lang.ClassCastException: org.apache.hadoop.hive.ql.io.orc.OrcStruct$OrcStructInspector cannot be cast to org.apache.hadoop.hive.serde2.objectinspector.PrimitiveObjectInspector
at org.apache.hadoop.hive.ql.exec.vector.VectorizedBatchUtil.setVector(VectorizedBatchUtil.java:295)
at org.apache.hadoop.hive.ql.exec.vector.VectorizedBatchUtil.acidAddRowToBatch(VectorizedBatchUtil.java:275)
at org.apache.hadoop.hive.ql.io.orc.VectorizedOrcAcidRowReader.next(VectorizedOrcAcidRowReader.java:82)
jedoch zu laufen versuchen, wenn ich durch das Setzen folgende Eigenschaft vektorisiert Ausführung deaktivieren
set hive.vectorized.execution.enabled = false;
alles funktioniert gut (obwohl es Ewigkeiten zu vervollständigen).
Warum passiert das? Soweit ich das verstehe, sollte die vektorisierte Ausführung mit ORC-Format funktionieren.
Hadoop Version - 2.7.1
Hive Version - 1.2.1
Rishabh, Meine Antwort nützlich war? –
@RamPrasadG Ich benutze Hive 1.2.1 und versuche zu sehen, ob ich auf 1.3.0 upgraden kann. Daher nicht in der Lage, dies zu überprüfen. Es scheint jedoch dasselbe Problem zu sein. Danke vielmals. Bestätigen und akzeptieren Sie die Antwort – Rishabh
Wenn Sie mit der Antwort einverstanden sind, stimmen Sie bitte als Besitzer ab – user3190018