Visual Studio を使用して ARM テンプレートを展開することにより、Azure データ ファクトリを展開しています。
このテンプレートは、Azure Storage のリンクされたサービス (ソース データと出力データの読み取りと書き込み用)、入力データセットと出力データ セット、HDInsight オンデマンドのリンクされたサービス、および HDInsight HIVE アクティビティを実行するパイプラインを使用して、データ ファクトリを定義します。入力データセットを出力データセットに処理する HIVE スクリプトを実行します。
すべてが正常にデプロイされ、pipine アクティビティが開始されます。ただし、アクティビティから次のエラーが発生します。
スレッド「メイン」の例外 java.lang.RuntimeException: java.lang.RuntimeException: org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClientをインスタンス化できません org.apache.hadoop.hive.ql.session.SessionState.start(SessionState.java:445) で org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:675) で org.apache.hadoop .hive.cli.CliDriver.main(CliDriver.java:619) の sun.reflect.NativeMethodAccessorImpl.invoke0(ネイティブ メソッド) の sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) の sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43) で java.lang.reflect.Method.invoke(Method.java:606) で org.apache.hadoop.util.RunJar.run(RunJar.java:221) で org.apache.hadoop. util.RunJar.main(RunJar.java:136)
このような投稿や、HIVE メタストア データベース名のダッシュまたはハイフンによって引き起こされる既知のバグであることを示唆する投稿を見つけました。
私の問題は、ARM テンプレートを使用して HDInsigh クラスターをオンデマンドで展開することです。クラスター自体にアクセスできないため、手動で構成を変更することはできません (オンデマンドの考え方は、一時的であり、作成されるだけであるということです)。一連の要求を処理してから、自身を削除します)。
この問題は、チュートリアルのステップバイステップに従うだけで簡単に再現できます。
私が見つけた唯一の希望の光は、ここに記載されているように hcatalogLinkedServiceName を設定することです。これは、独自の Azure SQL データベースをハイブ メタストアとして使用できるように設計されています。ただし、これも機能しません。そのプロパティを使用すると、次のようになります。
「JamesTestTutorialARMDataFactory/HDInsightOnDemandLinkedService」は、「<strong>このサブスクリプションでは HCatalog 統合が有効になっていません。」というメッセージで失敗しました。</p>
私のサブスクリプションは無制限で、Azure のすべての機能を利用できるはずです。だから今、私は完全に立ち往生しています。現在、オンデマンドの HDInsight で Hive を使用することは基本的に不可能なようですか?
誰か試してみることができるなら、私はすべての耳です!
ありがとう