Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Avro type

Becomes Hive type

Note

null

void

boolean

boolean

int

int

long

bigint

float

float

double

double

<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="8feed344f4cfc78a-5a5abd44-40eb4149-88e79024-3ab95b0b947bb764de620d65"><ac:plain-text-body><![CDATA[

bytes

Array[smallint]

Hive converts these to signed bytes.

]]></ac:plain-text-body></ac:structured-macro>

string

string

record

struct

map

map

list

array

<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="4acef49928ffd1b5-f974ecd0-465e4b21-ac13afbb-4a32d9242c866b7e57b2031c"><ac:plain-text-body><![CDATA[

union

union

Unions of [T, null] transparently convert to nullable T, other types translate directly to Hive's unions of those types. However, unions were introduced in Hive 7 and are not currently able to be used in where/group-by statements. They are essentially look-at-only. Because the AvroSerde transparently converts [T,null], to nullable T, this limitation only applies to unions of multiple types or unions not of a single type and null.

]]></ac:plain-text-body></ac:structured-macro>

enum

string

Hive has no concept of enums

<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="ff0e1c9a3b5fa205-ce355bec-46294935-8aef9355-66a95e25298cacc48d27ff6c"><ac:plain-text-body><![CDATA[

fixed

Array[smallint]

Hive converts the bytes to signed int

]]></ac:plain-text-body></ac:structured-macro>

...

Code Block
CREATE TABLE kst
  PARTITIONED BY (ds string)
  ROW FORMAT SERDE
  'org.apache.hadoop.hive.serde2.avro.AvroSerDe'
  WITH TBLPROPERTIES (
    'avro.schema.url'='http://schema_provider/kst.avsc')
  STORED AS INPUTFORMAT
  'org.apache.hadoop.hive.ql.io.avro.AvroContainerInputFormat'
  OUTPUTFORMAT
  'org.apache.hadoop.hive.ql.io.avro.AvroContainerOutputFormat';

...