2017-01-18 11 views
0

Oracle Big Data ApplianceではOracle Rディストリビューションを使用していますが、HadoopはKerberosセーフです。まずはケルベロスからチケットを受け取りますORCHを使用してRからハイブ・テーブルを読み取る

R> system("echo **[myPass]** | kinit **[myUser]**") 

私は自分のクラスタでOracle Rディストリビューションを使用しています。だからRにパッケージORCHをインストールし、鉱石タイプをHiveに設定しました。

R> library("ORCH") 
R> ore.connect(type="HIVE") 

その後、私はその後、私は以下のエラーを取得しています

R> dim(ore.get(name = "a_trial", schema = "tgar")) 

ハイブ

に位置寸法単純なテーブルを読みたいです。

Error in get(name, envir = env) : object 'a_trial' not found

実際には、a_trialテーブルはtgarスキーマに存在します。テーブルに問題があると仮定すると、私はその

R> ore.sync(query = c("QUERY1" = "SHOW DATABASES")) 

のような単純なクエリはエラーがその

Error: HIVE command failed

は私が間違って何をやっているようなものですしようとしていますか? ORCHライブラリ経由でRからハイブをどのように接続できますか?

+0

私は一般的にRについては何も知らない@SamsonScharfrichter – neverwinter

+0

:)私の単純なクエリの例を変更し、またその奇妙なオラクルについて特に、拡張機能では、 "ore.attach()は、"現在のenvtをRの検索パスに添付するために必要です "と書かれています* –

+0

これも試しました。何も変更されていません@SamsonScharfrichter – neverwinter

答えて

1

私たちはしばらく前に同じ問題を抱えていました。 我々はこのように、スキーマパラメータにレルムを渡して、問題を解決:REALMはハイブ-conf.xmlから取られ

ore.connect(user="USERNAME", password="PASSWORD", host="HOSTNAME", schema="SCHEMA_NAME;principal=REALM", type="HIVE"), 

。 あなたが作業接続をしたら、あなたは明示的に例えば、スキーマを変更することがあります。

ore.sync(schema="SCHEMA_NAME", table="TABLE_NAME") 
+0

ore.connect関数でスキーマプロパティを渡すと、未使用の引数(スキーマ= "TGAR;プリンシパル= REALM")または未使用の引数(スキーマ= "TGAR")というエラーが表示されます。 REALMを値として追加する意味がありません。 @Gianluca私の完全なスクリプトは、ore.connect(user = "xx"、password = "yyy"、host = "helloKitty"、schema = "TGAR; pr​​incipal = REALM"、type = "HIVE")のようなsthです。 – neverwinter

関連する問題