Hi team
I am new o pig script I was trying o store the output of my pig script to 
Teradata DB but i am getting below exception :
2016-06-06 05:38:25,364 [Thread-28] ERROR 
org.apache.pig.piggybank.storage.DBStorage - Unable to connect to JDBC 
@jdbc:teradata://139.25.104.143:11025/eap2016-06-06 05:38:25,368 [Thread-28] 
WARN  org.apache.hadoop.mapred.LocalJobRunner - 
job_local_0002java.io.IOException: JDBC Error        at 
org.apache.pig.piggybank.storage.DBStorage.prepareToWrite(DBStorage.java:298)   
     at 
org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigOutputFormat$PigRecordWriter.<init>(PigOutputFormat.java:124)
First Thing i wan to know if it is possible o store pig output to Teradata DB 
?Secondly if yes then can you please provide me some example for the same.
My Pig Script :SET DEFAULT_PARALLEL 1;%default DATABASE_HOST 
'139.25.104.143:11025';%default DATABASE_NAME 'eap';%default DATABASE_USER 
'dbc';%default DATABASE_PASS 'dbc';%default DATABASE_DRIVER 
'com.teradata.jdbc.TeraDriver';%default DATABASE_TYPE 'teradata';raw = LOAD 
'input.csv' USING PigStorage(',') AS 
(firstSentance:chararray,secondSentance:chararray);----Count for first 
sentencesentence1 = group raw by firstSentance;word_1 = foreach sentence1 
generate flatten(TOKENIZE((chararray)$0)) as word;word_group1 = group word_1 
ALL;cnt1 = foreach word_group1 generate COUNT(word_1) AS coun1 ;
------count for second sentencesentence2 = group raw by secondSentance;word_2 = 
foreach sentence2 generate flatten(TOKENIZE((chararray)$0)) as word;word_group2 
= group word_2 ALL;cnt2 = foreach word_group2 generate COUNT(word_2) as count2;
result = JOIN cnt1 BY 1, cnt2 BY 1 USING 'replicated';--------Total word 
counttotal_words = UNION  word_1, word_2;word_group_all = group total_words 
ALL;agreegate_result = foreach word_group_all generate 
COUNT(total_words);--------Store resul into fileSTORE agreegate_result INTO 
'output1.csv' USING PigStorage(',');STORE result INTO 'output2.csv' USING 
PigStorage(',');
---------Strore into DB
  STORE agreegate_result INTO 'hdfs:///$DATABASE_HOST'  USING 
org.apache.pig.piggybank.storage.DBStorage('$DATABASE_DRIVER',  
'jdbc:$DATABASE_TYPE://$DATABASE_HOST/$DATABASE_NAME',  '$DATABASE_USER',  
'$DATABASE_PASS',  'INSERT INTO agreegateData(AgreegateCount) VALUES (5)');
//vikrant gill

Reply via email to