2017-02-06 9 views
0

私の目標は、ZeppelinのPythonおよび/またはscalaインタープリタからデータを取り出し、最終的にPlotly、D3、VisなどのJavaScriptライブラリによってインラインでデータを表示することです。Apache Zeppelin:非常に遅いhtml出力

完璧なシームレスな統合は、単純にJavaScript inclを出力することです。文字列化されたデータはprint("%html <script>" + content + "</script>")を経由します。

は確かに、これは、コンテンツのサイズが増大した場合には、HTML出力は非常に、非常に時間がかかり、しかし、例えば限り、含有量が多すぎるではないとして、ライブラリのすべての種類、と非常によくprint("%html <script>alert(JSON.stringify({name: 'Peter', age: 24}))</script>")

の作品例:

%python 
print("%html start") 
s = "X" * 100000 # data of length 100k 
print("<script>js='" + s + "'; alert(js.length)</script>") # takes > 1 minute! 

同じ出力をファイルに書き込んでロードすると、そのような遅延はありません。したがって、それは低速ブラウザのレンダリングに起因するものではありませんが、おそらくZeppelinの方法によって%html出力がどのように処理されるのでしょうか?

この問題を解決する方法を知っている人はいませんか?

答えて

0

さて、私は最終的に答えを見つけました。これは既知のバグです。

https://issues.apache.org/jira/browse/ZEPPELIN-1360

回避策は、むしろ純粋%pythonインタプリタよりも、Pythonの開発のための%pysparkインタプリタを使用することです。