%Hiveインタープリター用にZeppelinにjarを追加するにはどうすればよいですか?
私が試してみました
%z.dep('');
add jar <jar path>
また zeppelin HiveインタープリターはClassNotFoundExceptionをスローします
./interpreter/Hive/
に追加すると、ファイルが見つからないとadd jar
が言う間に、節約例外が発生します。
どうやってするの? DynamoDBのインポートを解析するためにAmazonでjsonserde.jarを追加しようとしています。
私はバージョン0.5.6を持っています。
%Hive
add jar /home/hadoop/jsonserde.jar
推奨される方法は、Zeppelinの 依存関係管理 を使用することです。
JarファイルまたはMavenアーティファクトを追加できます。
依存関係のjarがlocal-repoにダウンロードされます。
注:jarファイルがソースからコンパイルされている場合、再度コンパイルしても、自動的には同期されません(再度ダウンロードしてください)。
interpreter
設定に移動し、[編集]をクリックすると、[OK]をクリックしてlocal-repoへの別のダウンロードがトリガーされます。
注:1つのscalaバージョンを最初に使用し、別のバージョンで再度コンパイルした場合、
Exception in thread “main” Java.lang.NoSuchMethodError: scala.reflect.api.JavaUniverse.runtimeMirror
が報告されます。ダウンロード済みのjarファイルをrm -rf local-repo/*
で削除します。
注:z.depは非推奨です。
%dep
または%spark.dep
(Sparkを使用している場合)を使用して、外部の依存関係またはjarをロードできるようになりました。ドキュメントはzepplineのWebサイトにあります: Dynamic Dependency Loading
%dep z.load("/path/to/your/packages.jar")
または
%spark.dep
z.reset() // clean up previously added artifact and repository
// add maven repository
z.addRepo("RepoName").url("RepoURL")
// add maven snapshot repository
z.addRepo("RepoName").url("RepoURL").snapshot()
// add credentials for private maven repository
z.addRepo("RepoName").url("RepoURL").username("username").password("password")
例、Zeppelin 0.8.1でテスト済み:
%dep
z.addRepo("Spark Packages Repo").url("http://dl.bintray.com/spark-packages/maven")
z.addRepo("OSS SNAPSHOTS").url("https://oss.sonatype.org/content/repositories/snapshots")
z.load("org.zouzias:spark-lucenerdd_2.11:0.3.7")