web-dev-qa-db-ja.com

ツェッペリンに瓶を追加する方法は?

%Hiveインタープリター用にZeppelinにjarを追加するにはどうすればよいですか?

私が試してみました

%z.dep('');
add jar <jar path>

また zeppelin HiveインタープリターはClassNotFoundExceptionをスローします

./interpreter/Hive/に追加すると、ファイルが見つからないとadd jarが言う間に、節約例外が発生します。

どうやってするの? DynamoDBのインポートを解析するためにAmazonでjsonserde.jarを追加しようとしています。

8
user 923227

私はバージョン0.5.6を持っています。

%Hive
add jar /home/hadoop/jsonserde.jar
0
user 923227

推奨される方法は、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は非推奨です。

8
Rockie Yang

Zeppelin 0.8.xで更新

%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")
3
Dat Nguyen

例、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")
0
Zouzias