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?

15
demandé sur John Rotenstein 2017-08-18 07:55:53

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'
3
répondu Thiago Baldim 2017-09-25 05:13:36