Je ne connais rien à l'environnement des porcs. J'ai essayé d'implémenter mon fichier de script de porc de deux manières.Implémentation des paramètres UPPER, TRIM et REPLACE dans Apache Pig
I.
data = LOAD 'sample2.txt' USING PigStorage(',') as(campaign_id:chararray,date:chararray,time:chararray,display_site:chararray,placement:chararray,was_clicked:int,cpc:int,keyword:chararray);
distinct_data = DISTINCT data;
val = foreach distinct_data generate campaign_id,date,time,UPPER(keyword),display_site,placement,was_clicked,cpc;
val1 = foreach val generate campaign_id,date,time,TRIM(keyword),display_site,placement,was_clicked,cpc;
val2 = foreach val1 generate campaign_id,REPLACE(date, '-', '/'),time,keyword,display_site,placement,was_clicked,cpc;
dump val2;
i get erreur:
2016-09-29 02:45:40,826 INFO org.apache.pig.Main: Apache Pig version 0.10.0-cdh4.2.1 (rexported) compiled Apr 22 2013, 12:04:54 2016-09-29 02:45:40,827 INFO org.apache.pig.Main: Logging error messages to: /home/training/training_materials/analyst/exercises/pig_etl/pig_1475131540824.log 2016-09-29 02:45:42,371 ERROR org.apache.pig.tools.grunt.Grunt: ERROR 1025: Invalid field projection. Projected field [keyword] does not exist in schema: campaign_id:chararray,date:chararray,time:chararray,org.apache.pig.builtin.upper_keyword_12:chararray,display_site:chararray,placement:chararray,was_clicked:int,cpc:int. Details at logfile: /home/hduser/pig_etl/pig_1475131540824.log
Mais quand j'intégrons les UPPER, TRIM et REPLACE dans une instruction puis cela fonctionne:
II. Donc, je veux juste que quelqu'un m'explique pourquoi la méthode I. n'a pas fonctionné et quel est le message d'erreur.
grâce @ankur et bons conseils que je vais certainement utiliser décrire à partir de maintenant. – curious