Hadoop プロジェクトとそのすべてのモジュールに関するスキルを取得しようとして、これを実行しようとしています (cloudera を使用):
- 12k 行のようなもので満たされた mysql テーブルを作成します - sqoop を使用して hbase にインポートします - それらのデータを分析に使用する方法を見つけます (外部のハイブ テーブルを指すように作成するのは良い考えだと思いました)
だから私は最後の点で立ち往生しています。次のコードを使用して、ハイブに hbase の外部テーブルを作成できます。
CREATE EXTERNAL TABLE ViewSimulation (
id int,
eol int,
sensor int,
value1 float,
value2 float,
value3 float,
value4 float,
value5 float,
value6 float)
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES (
"hbase.columns.mapping" =
":key,data:eol,data:sensor,data:value1,data:value2,data:value3,data:value4,data:value5,data:value6"
)
TBLPROPERTIES("hbase.table.name" = "Simulation");
色相に問題があるため、コンソールで行います。明らかな理由はありませんが、zookeeper に接続できません。このエラーが何度もループしています (さらに、それに続くすべての通常のエラー)。
13/12/09 06:52:25 WARN zookeeper.RecoverableZooKeeper: Possibly transient ZooKeeper exception: org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss for /hbase/hbaseid
13/12/09 06:52:25 INFO util.RetryCounter: Sleeping 2000ms before retry #1...
13/12/09 06:52:27 WARN zookeeper.RecoverableZooKeeper: Possibly transient ZooKeeper exception: org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss for /hbase/hbaseid
13/12/09 06:52:27 INFO util.RetryCounter: Sleeping 4000ms before retry #2...
13/12/09 06:52:32 WARN zookeeper.RecoverableZooKeeper: Possibly transient ZooKeeper exception: org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss for /hbase/hbaseid
13/12/09 06:52:32 INFO util.RetryCounter: Sleeping 8000ms before retry #3...
13/12/09 06:52:40 WARN zookeeper.RecoverableZooKeeper: Possibly transient ZooKeeper exception: org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss for /hbase/hbaseid
13/12/09 06:52:40 ERROR zookeeper.RecoverableZooKeeper: ZooKeeper exists failed after 3 retries
13/12/09 06:52:40 WARN zookeeper.ZKUtil: hconnection Unable to set watcher on znode (/hbase/hbaseid)
org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss for /hbase/hbaseid
at org.apache.zookeeper.KeeperException.create(KeeperException.java:99)
at org.apache.zookeeper.KeeperException.create(KeeperException.java:51)
.............
応答は「OK」だけなので、ここですべてがうまくいったと思います。しかし、単純な「select * from viewsimulation」を実行すると、次のエラー メッセージが表示されます。
OK
Failed with exception java.io.IOException:java.lang.NullPointerException
Time taken: 0.735 seconds
または、クエリを実行するマシンによっては、プロセスを強制終了すると、大きなフリーズと次のエラー メッセージが表示されます。
OK
Interrupting... Be patient, this might take some time.
Press Ctrl+C again to kill JVM
Failed with exception java.io.IOException:java.io.IOException: Giving up trying to location region in meta: thread is interrupted.
Zoo.cfg を再構成すると (cloudera は不明な理由ですべての「server.id = host:port:port」行を欠落しました...)、コンソールで外部テーブルを作成できるようになりました (一部のマシンでは、すべてではありません...)色相ではありませんが、まだクエリできません。Cloudera の構成のどこが悪いのか、または他の何かについての手がかりがありません。