Hive'dan bir StorageHandler kullanarak yerel bir Oracle NoSQL DB'ye erişmek için this (pretty old) tutorial izliyorum.Hive adresinden Oracle NoSQL'e erişme
başarıyla ettik:
- Çıkarılan Hadoop 2.7.2
/home/hadoop/hadoop
altında - Çıkarılan Kovan 1.2.1
/home/hadoop/hive
altında Set aşağıdaki ortam değişkenleri:export HADOOP_HOME=/home/hadoop/hadoop export HADOOP_COMMON_HOME=$HADOOP_HOME export HADOOP_HDFS_HOME=$HADOOP_HOME export HADOOP_MAPRED_HOME=$HADOOP_HOME export HADOOP_YARN_HOME=$HADOOP_HOME export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib/native" export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native export KVHOME=/home/hadoop/kv export KVROOT=/tmp/kv-metadata export HIVE_HOME=/home/hadoop/hive/ export HIVE_AUX_JARS_PATH=$KVHOME/lib/kvclient.jar export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin:$HIVE_HOME/bin
Oracle NoSQL DB'yi çalıştırın:
0 GörünüşeFAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe.initSerdeParams (Lorg/apache/hadoop/conf/Configuration;Ljava/util/Properties;Ljava /lang/String;)Lorg/apache/hadoop/hive/serde2 /lazy/LazySimpleSerDe$SerDeParameters;
: Ben
hive
çalıştırın ve aşağıdaki hatayı alıyorumhive> CREATE EXTERNAL TABLE IF NOT EXISTS MOVIE(id INT, original_title STRING, overview STRING, poster_path STRING, release_date STRING, vote_count INT, runtime INT, popularity DOUBLE, genres STRING) STORED BY 'oracle.kv.hadoop.hive.table.TableStorageHandler' TBLPROPERTIES ("oracle.kv.kvstore"="kvstore", "oracle.kv.hosts"="localhost:5000", "oracle.kv.hadoop.hosts"="localhost", "oracle.kv.tableName"="MOVIE");
yazdığınızda
java -jar $KVHOME/lib/kvstore.jar kvlite -root $KVROOT -host localhost &
,
Ancak Oracle DB MOVIE
tablo düzenlendi Ser ile ilgili bir hata gibi görünüyor De bileşen.
Ayrıca Hive 2.0 ile denedim, ancak bu da çalışmıyor.
Olanlar hakkında bir ipucu var mı?