Wie zum einfügen in die Hive-Tabelle mit einer Spalte vom Datentyp "array" <struct<int>>

Ich versuche zum einfügen von Daten in eine Tabelle in Hive, die ich erstellt. Ich habe gekämpft, so bin ich versucht, um es zu vereinfachen, so viel wie möglich zu erhalten, um die Wurzel des Problems.

Hier mein vereinfachter code für das erstellen einer einfachen Tabelle. Ich haben im Grunde ein array der Struktur mit einem einzigen element.

DROP TABLE IF EXISTS foo.S_FILE_PA_JOB_DATA_T;

CREATE TABLE foo.S_FILE_PA_JOB_DATA_T
  PARTITIONED BY (customer_id string)
  STORED AS AVRO
  TBLPROPERTIES (
 'avro.schema.literal'=
 '{
   "namespace": "com.foo.oozie.foo",
   "name": "S_FILE_PA_JOB_DATA_T",
   "type": "record",
   "fields":
   [
      {"name":"pa_hwm"             ,"type":{
         "type":"array",
         "items":{
           "type":"record",
           "name":"pa_hwm_record",
           "fields":
           [
             {"name":"pa_axis"           ,"type":["int","null"]}
           ]
         }
      }}
   ]
   }');

Mein problem ist, ich kann nicht herausfinden, die syntax in die Tabelle einfügen.

insert into table foo.s_FILE_PA_JOB_DATA_T partition (customer_id) values (0,'a390c1cf-4ee5-4ab9-b7a3-73f5f268b669')

Den 0 muss irgendwie ein array<struct<int>> aber ich kann nicht die syntax Recht. Kann jemand helfen? Danke!

InformationsquelleAutor user432209 | 2016-01-08
Schreibe einen Kommentar