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
0
A
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: