GitHub - GoogleCloudDataproc/hive-bigquery-storage-handler: Hive Storage Handler for interoperability between BigQuery and Apache Hive

 CREATE TABLE dbname.alltypeswithSchema(currenttimestamp TIMESTAMP,currentdate DATE, userid BIGINT, sessionid STRING, skills Array<String>,
   eventduration DOUBLE, eventcount BIGINT, is_latest BOOLEAN,keyset BINARY,addresses ARRAY<STRUCT<status: STRING, street: STRING,city: STRING, state: STRING,zip: BIGINT>> )
   STORED BY 'com.google.cloud.hadoop.io.bigquery.hive.HiveBigQueryStorageHandler'
   TBLPROPERTIES (
    'bq.dataset'='bqdataset',
    'bq.table'='bqtable',
    'mapred.bq.project.id'='bqproject',
    'mapred.bq.temp.gcs.path'='gs://bucketname/prefix',
    'mapred.bq.gcs.bucket'='bucketname',
    'avro.schema.literal'='{"type":"record","name":"alltypesnonnull",
        "fields":[{"name":"currenttimestamp","type":["null",{"type":"long","logicalType":"timestamp-micros"}], "default" : null}
                 ,{"name":"currentdate","type":{"type":"int","logicalType":"date"}, "default" : -1},{"name":"userid","type":"long","doc":"User identifier.", "default" : -1}
                 ,{"name":"sessionid","type":["null","string"], "default" : null},{"name":"skills","type":["null", {"type":"array","items":"string"}], "default" : null}
                 ,{"name":"eventduration","type":["null","double"], "default" : null},{"name":"eventcount","type":["null","long"], "default" : null}
                 ,{"name":"is_latest","type":["null","boolean"], "default" : null},{"name":"keyset","type":["null","bytes"], "default" : null}
                 ,{"name":"addresses","type":["null", {"type":"array",
                    "items":{"type":"record","name":"__s_0",
                    "fields":[{"name":"status","type":"string"},{"name":"street","type":"string"},{"name":"city","type":"string"},{"name":"state","type":"string"},{"name":"zip","type":"long"}]
                    }}], "default" : null
                  }
                ]
        }'
   );