Tworzenie tabeli w HIVE na podstawie wyniku z MapReduce

Tworzenie tabeli w HIVE na podstawie wyniku z MapReduce
KE
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 32
0

Cześć, mam problem z utworzeniem tabeli w HIVE na podstawie plików powstałych w wyniku aplikacji Map Reduce.
Jestem kompletnym laikiem. Domyślam się, że mogłem coś schrzanić już właśnie w Map Reduce, dlatego od początku.

Konfiguracja:

Kopiuj
        job.setJarByClass(this.getClass());

        job.setMapperClass(SomeMapper.class);
        job.setMapOutputValueClass(Text.class);
        job.setMapOutputValueClass(MyOwnClass.class);

        job.setReducerClass(SomeReducer.class);
        job.setOutputKeyClass(Text.class);
        job.setOutputValueClass(MyOwnObject.class);

        job.setOutputFormatClass(SequenceFileOutputFormat.class);

A tak wygląda ten "MyOwnObject":

Kopiuj
public class MyOwnObject implements WritableComparable<MyOwnObject>, Serializable {


    private static final long serialVersionUID = ....

    private IntWritable propertyA;
    private IntWritable propertyB;
    ...

 // - bezargumentowy konstruktor 
 // - settery, gettery
 //  - compareTo
 // - toString (return propertyA<SEP>propertyB<SEP>...)

W HIVE tworzę tabelę:

Kopiuj
CREATE TABLE DUMMY_TABELA ( PRIMARY_KEY TEXT, PROPERTY_A TEXT, PROPERTY B, TEXT ....) ROW FORMAT DELIMITED FIELDS TERMINATED BY '<SEP>' STORED AS SEQUENCEFILE;

W katalogu ktory podalem jako wyjsciowy dla aplikacji MapReduce dostaje kilka plikow - niech nazywają się plik1, plik2, etc... W jaki sposób z nich wszystkich utworzyć jedną tabelę w HIVE?

Kopiuj
LOAD DATA INPATH 'pathToMyOutputDirectory/plik1' INTO TABLE DUMMY_TABELA 

Kończy się

Kopiuj
Error: Error while compiling statement: FAILED: SemanticException Unable to load data to destination table. Error: j
ava.lang.RuntimeException: java.io.IOException: WritableName can't load class: MyOwnObject (state=42000,code=40000
)

Gdzie coś schrzaniłem?

UglyMan
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2206
0

Moze to https://stackoverflow.com/questions/28520821/how-to-add-external-jar-to-hadoop-job. Bo jak rozumiem to odpalsz to ba klastrze Hadoopa

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.