2017-09-27 13 views
0

Aimerait savoir s'il est possible de passer la ligne d'en-tête org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe dans Aws Athena. J'ai essayé tblproperties ('skip.header.line.count' = '1') mais ne fonctionne pas. En-tête il fonctionne avec OpenCSVSerDe, mais il semble ne soutenir que le type de données string qui finira par beaucoup de travail dans la requête.Athena: Passer la ligne d'en-tête avec LazySimpleSerde

Répondre

0

Je viens d'essayer ce qui suit:

Créer un fichier CSV et le télécharger sur S3:

breed_id, breen_name, category 
1,pug,toy 
2,German Shepard,working, 
3,Scottish Terrier,Working 

Exécutez la LDD suivante Athena:

create external table dogs (
    breed_id int, 
    breen_name string, 
    category string 
) 
ROW FORMAT DELIMITED 
FIELDS TERMINATED BY ',' 
LINES TERMINATED BY '\n' 
LOCATION 's3://XXXXXXXXXXXXXX/' 
TBLPROPERTIES ('skip.header.line.count'='1') 
; 

Lancez ensuite la requête suivante :

SELECT * FROM "default"."dogs" LIMIT 10; 

donnant le résultat suivant:

enter image description here