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