Exception avec la Table identifiée via AWS Glue Crawler et stockée dans Le Catalogue de données
je travaille à construire le nouveau lac de données de la compagnie et essaye de trouver la meilleure et la plus récente option pour travailler ici. J'ai donc trouvé une bonne solution pour travailler avec EMR + S3 + Athena + Glue.
Le processus que je n'ai:
1-Exécutez le script Apache Spark pour générer 30 millions de lignes divisées par date à S3 stockées par Orc.
2-lancez une requête Athena pour créer la table externe.
3-vérifié la table à EMR connected Avec Le Catalogue de données de colle et il a fonctionné parfait. Spark et Hive ont pu y accéder.
4-générer 30 millions de lignes supplémentaires dans un autre dossier partitionné par date. Dans le format Orc
5-a lancé le traceur de colle qui identifient la nouvelle table. Ajouté au catalogue de données et Athena a été en mesure de faire la requête. Mais Spark et Hive ne sont pas capables de le faire. Voir l'exception ci-dessous:
Spark
Caused by: java.lang.ClassCastException: org.apache.hadoop.io.Text cannot be cast to org.apache.hadoop.hive.ql.io.orc.OrcStruct
la Ruche
Error: java.io.IOException: org.apache.hadoop.hive.ql.metadata.HiveException: Error evaluating audit_id (state=,code=0)
je vérifiais s'il y avait un problème de sérialisation et j'ai trouvé ceci:
Tableau créé manuellement (Configuration):
format D'entrée org.apache.hadoop.ruche.ql.io.orc.OrcInputFormat
format de sortie org.apache.hadoop.ruche.ql.io.orc.OrcOutputFormat
Serde la sérialisation lib org.apache.hadoop.ruche.ql.io.orc.OrcSerde
orc.compresser SNAPPY
Tableau Créé avec de la Colle Robot:
format D'entrée org.Apache.hadoop.mapred.TextInputFormat
format de sortie org.apache.hadoop.ruche.ql.io.HiveIgnoreKeyTextOutputFormat
Serde sérialisation lib org.apache.hadoop.ruche.ql.io.orc.OrcSerde
Donc, ce n'est pas travailler pour lire à partir de Ruche ou Spark. Ça marche pour Athéna. J'ai déjà changé les configurations mais sans effet à Hive ou Spark.
Quelqu'un a fait face à ce problème?
1 réponses
Eh bien,
après quelques semaines que j'ai posté cette question AWS réglé le problème. Comme je l'ai montré ci-dessus, le problème était réel et c'était un bug de la colle.
comme il s'agit d'un nouveau produit et ont encore quelques problèmes parfois.
Mais cela a été résolu correctement. Voir les propriétés de la table, maintenant:
ROW FORMAT SERDE
'org.apache.hadoop.hive.ql.io.orc.OrcSerde'
STORED AS INPUTFORMAT
'org.apache.hadoop.hive.ql.io.orc.OrcInputFormat'
OUTPUTFORMAT
'org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat'