如何在 Zeppelin 中注册新的 Angular 模块:
基于这个 Angular 示例
https://material.angularjs.org/latest/getting-started
这是 Zeppelin 中可能的转换代码(相同的代码在标准 Web 应用程序中运行良好)
print(s"""%angular
<div id="myAngularApp">
<md-button class="md-raised md-primary">Angular Material Button</md-button>
</div>
<link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/angular_material/1.1.0-rc2/angular-material.min.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.1.22/require.js"></script>
<script>
require.config({
paths: {
'angular': 'http://ajax.googleapis.com/ajax/libs/angularjs/1.5.3/angular.min',
'ngAnimate': 'http://ajax.googleapis.com/ajax/libs/angularjs/1.5.3/angular-animate.min',
'ngAria': 'http://ajax.googleapis.com/ajax/libs/angularjs/1.5.3/angular-aria.min',
'ngMaterial': 'http://ajax.googleapis.com/ajax/libs/angular_material/1.1.0-rc2/angular-material.min'
},
shim: {
'ngAnimate': ['angular'],
'ngAria': ['angular'],
'ngMaterial': {
deps: ['ngAnimate', 'ngAria']
}
}
});
require([ 'angular', 'ngMaterial' ], function () {
var app = angular.module('StarterApp', ['ngMaterial']);
angular.bootstrap(document.getElementById('myAngularApp'), ['StarterApp']);
return app;
});
</script>
""")Run Code Online (Sandbox Code Playgroud)
不幸的是,我没有找到任何方法让它发挥作用。我尝试了多种方法,都没有效果!
简而言之,如何在 Zeppelin 中注册新的 Angular …
我想在 Zeppelin 中以直方图的形式显示我的结果。我遇到了阴谋。我的代码是用scala编写的,我想知道使用scala将plotly合并到zeppelin中的步骤。或者有没有更好的方法(库)可以用来在Zeppelin(Scala)中绘制直方图?
用 zeppelin 编写的代码,当我在那里启动 pyspark 时,它在 shell 中工作和导入正常,但在 zeppelin 中使用相同的代码则不然。
%pyspark
import pandas
Traceback (most recent call last):
File "/tmp/zeppelin_pyspark-4245945050627073162.py", line 239, in <module>
eval(compiledCode)
File "<string>", line 1, in <module>
ImportError: No module named pandas
Run Code Online (Sandbox Code Playgroud) 我想在齐柏林飞艇中使用 anaconda 。
所以我修改 /zeppelin/conf/zeppelin-env.sh 中的配置文件,如下所示。
export SPARK_HOME=/home/jin/spark
export PYTHONPATH=/home/jin/anaconda3/bin/python
export PYSPARK_PYTHON=/home/jin/spark/python
Run Code Online (Sandbox Code Playgroud)
因为我认为当我修改 PYTHONPATH 时,我可以使用 anaconda 版本。
https://zeppelin.apache.org/docs/0.6.2/interpreter/python.html
Path of the already installed Python binary (could be python2 or python3).
If python is not in your $PATH you can set the absolute directory
(example :/usr/bin/python)
Run Code Online (Sandbox Code Playgroud)
但python版本没有改变。我尝试检查 zeppelin 笔记本中的 python 版本。
%python
import sys
print(sys.version)
print(sys.version_info)
2.7.12 (default, Nov 19 2016, 06:48:10)
Run Code Online (Sandbox Code Playgroud)
如何在 zeppelin 中使用 anaconda?
我已经使用 Spark 和 Zeppelin 以及 AWS Glue 目录设置了一个 AWS EMR 作为 Hive 的元存储。我使用了这个指令:https : //docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-spark-glue.html
看来 EMR 集群和 Zeppeling 正在运行。
当我运行以下段落时:
%sql
show databases
Run Code Online (Sandbox Code Playgroud)
它可以工作并输出我在 Glue 中设置的数据库。
但是,当我尝试以这种方式查询任何表时:
%sql
select * from `fus-bear-parquet-db-prod`.fus_bear_parquet_prod limit 10
Run Code Online (Sandbox Code Playgroud)
我收到以下异常:
java.lang.NullPointerException: Name is null
at java.lang.Enum.valueOf(Enum.java:236)
at org.apache.hadoop.hive.ql.metadata.Table.getTableType(Table.java:401)
at org.apache.spark.sql.hive.client.HiveClientImpl$$anonfun$getTableOption$1$$anonfun$apply$11.apply(HiveClientImpl.scala:394)
at org.apache.spark.sql.hive.client.HiveClientImpl$$anonfun$getTableOption$1$$anonfun$apply$11.apply(HiveClientImpl.scala:373)
at scala.Option.map(Option.scala:146)
at org.apache.spark.sql.hive.client.HiveClientImpl$$anonfun$getTableOption$1.apply(HiveClientImpl.scala:373)
at org.apache.spark.sql.hive.client.HiveClientImpl$$anonfun$getTableOption$1.apply(HiveClientImpl.scala:371)
at org.apache.spark.sql.hive.client.HiveClientImpl$$anonfun$withHiveState$1.apply(HiveClientImpl.scala:290)
at org.apache.spark.sql.hive.client.HiveClientImpl.liftedTree1$1(HiveClientImpl.scala:231)
at org.apache.spark.sql.hive.client.HiveClientImpl.retryLocked(HiveClientImpl.scala:230)
at org.apache.spark.sql.hive.client.HiveClientImpl.withHiveState(HiveClientImpl.scala:273)
at org.apache.spark.sql.hive.client.HiveClientImpl.getTableOption(HiveClientImpl.scala:371)
at org.apache.spark.sql.hive.client.HiveClient$class.getTable(HiveClient.scala:75)
at org.apache.spark.sql.hive.client.HiveClientImpl.getTable(HiveClientImpl.scala:79)
at org.apache.spark.sql.hive.HiveExternalCatalog$$anonfun$getRawTable$1.apply(HiveExternalCatalog.scala:118)
at org.apache.spark.sql.hive.HiveExternalCatalog$$anonfun$getRawTable$1.apply(HiveExternalCatalog.scala:118)
at org.apache.spark.sql.hive.HiveExternalCatalog.withClient(HiveExternalCatalog.scala:97)
at org.apache.spark.sql.hive.HiveExternalCatalog.getRawTable(HiveExternalCatalog.scala:117)
at org.apache.spark.sql.hive.HiveExternalCatalog$$anonfun$getTable$1.apply(HiveExternalCatalog.scala:675)
at …Run Code Online (Sandbox Code Playgroud) 我在本地系统中创建了一个 Zeppelin docker 映像,并通过 maven 存储库配置了 Spark 解释器并运行了 Zeppelin,它工作正常。但是当我停止 Docker 并再次运行时,解释器绑定消失了。如何解决这个问题?我希望解释器绑定一次,这样当我停止泊坞窗并再次运行时,它就必须按原样存储这些解释器绑定。
我在 Windows 10 上安装了 Zeppelin 0.8.0。当我在带有 spark 解释器的笔记本中编写时,正确的代码工作正常,显示输出,但在出现错误时不显示堆栈跟踪。就像 in 是用白色写的,但实际上 ^ 之间的行是空的。
编辑: REPL 输出似乎已启用(带有解释器选项zeppelin.spark.printREPLOutput),因为我收到了错误输出。但这就像在打印之前清空了堆栈跟踪,导致只^显示指针。
当我在 zeppelin 上运行查询时,它为所有表返回此错误。当我在配置单元上运行相同的查询时,没有问题。Hive 返回结果。我使用火花解释器。此代码也返回相同的错误
val df = spark.sql("SELECT * FROM dev_bm_bda_stg.ana_tfd_avr limit 100")
Run Code Online (Sandbox Code Playgroud)
但是当我尝试通过 Spark-Shell 运行它时,它起作用了。
我使用spark 2.1.0,zeppelin 0.7.3
我想问一下,我可能会错过什么配置
org.apache.spark.sql.AnalysisException: Table or view not found: `mydatabase`.`mytable`; line 1 pos 14;
'GlobalLimit 10
+- 'LocalLimit 10
+- 'Project [*]
+- 'UnresolvedRelation `mydatabase`.`mytable`
at org.apache.spark.sql.catalyst.analysis.package$AnalysisErrorAt.failAnalysis(package.scala:42)
at org.apache.spark.sql.catalyst.analysis.CheckAnalysis$$anonfun$checkAnalysis$1.apply(CheckAnalysis.scala:80)
at org.apache.spark.sql.catalyst.analysis.CheckAnalysis$$anonfun$checkAnalysis$1.apply(CheckAnalysis.scala:76)
at org.apache.spark.sql.catalyst.trees.TreeNode.foreachUp(TreeNode.scala:128)
at org.apache.spark.sql.catalyst.trees.TreeNode$$anonfun$foreachUp$1.apply(TreeNode.scala:127)
at org.apache.spark.sql.catalyst.trees.TreeNode$$anonfun$foreachUp$1.apply(TreeNode.scala:127)
at scala.collection.immutable.List.foreach(List.scala:381)
at org.apache.spark.sql.catalyst.trees.TreeNode.foreachUp(TreeNode.scala:127)
at org.apache.spark.sql.catalyst.trees.TreeNode$$anonfun$foreachUp$1.apply(TreeNode.scala:127)
at org.apache.spark.sql.catalyst.trees.TreeNode$$anonfun$foreachUp$1.apply(TreeNode.scala:127)
at scala.collection.immutable.List.foreach(List.scala:381)
at org.apache.spark.sql.catalyst.trees.TreeNode.foreachUp(TreeNode.scala:127)
at org.apache.spark.sql.catalyst.trees.TreeNode$$anonfun$foreachUp$1.apply(TreeNode.scala:127)
at org.apache.spark.sql.catalyst.trees.TreeNode$$anonfun$foreachUp$1.apply(TreeNode.scala:127)
at scala.collection.immutable.List.foreach(List.scala:381)
at org.apache.spark.sql.catalyst.trees.TreeNode.foreachUp(TreeNode.scala:127)
at org.apache.spark.sql.catalyst.analysis.CheckAnalysis$class.checkAnalysis(CheckAnalysis.scala:76)
at org.apache.spark.sql.catalyst.analysis.Analyzer.checkAnalysis(Analyzer.scala:57)
at org.apache.spark.sql.execution.QueryExecution.assertAnalyzed(QueryExecution.scala:48) …Run Code Online (Sandbox Code Playgroud) 我有一个 Kafka 2.1 消息代理,想要对 Spark 2.4 中的消息数据进行一些处理。我想使用 Zeppelin 0.8.1 笔记本进行快速原型设计。
我下载了结构化流所需的spark-streaming-kafka-0-10_2.11.jar(http://spark.apache.org/docs/latest/structed-streaming-kafka-integration.html)并添加了它作为 Zeppelin 的“spark”解释器的“依赖项工件”(也处理 %pyspark 段落)。我重新启动了这个解释器(还有齐柏林飞艇)。
我还在笔记本的第一个段落中加载了 jar(我首先认为这应该是不必要的......):
%dep z.load("/usr/local/analyse/jar/spark-streaming-kafka-0-10_2.11.jar")
res0: org.apache.zeppelin.dep.Dependency = org.apache.zeppelin.dep.Dependency@2b65d5
Run Code Online (Sandbox Code Playgroud)
所以,我没有收到错误,所以加载似乎有效。现在,我想做测试,kafka服务器使用这个端口在同一台机器上运行,并且还有一个主题“测试”:
%pyspark
# Subscribe to a topic
df = spark \
.readStream \
.format("kafka") \
.option("kafka.bootstrap.servers", "localhost:9092") \
.option("subscribe", "test") \
.load()
Run Code Online (Sandbox Code Playgroud)
但我得到了错误
无法执行第 6 行:.option("subscribe", "test") \ Traceback (最近一次调用最后): File "/usr/local/analysis/spark/python/lib/pyspark.zip/pyspark/sql/utils .py”,第 63 行,在装饰中返回 f(*a, **kw) 文件“/usr/local/analysis/spark/python/lib/py4j-0.10.7-src.zip/py4j/protocol.py” ,第 328 行,采用 get_return_value 格式(target_id, ".", name), value) py4j.protocol.Py4JJavaError: 调用 o120.load 时发生错误。:org.apache.spark.sql.AnalysisException:找不到数据源:kafka。请按照《Structured Streaming + Kafka 集成指南》部署部分部署应用程序;在 org.apache.spark.sql.execution.datasources.DataSource$.lookupDataSource(DataSource.scala:652) …
我在 Amazon EMR 中运行 Apache Zeppelin 0.8.0。最近,spark 解释器开始无法下拉库依赖项。这是因为 zeppelin.interpreter.dep.mvnRepo 配置参数设置为http://repo1.maven.org/maven2/并且 maven repo 最近停止支持 http,如下所述:https : //support.sonatype.com /hc/en-us/articles/360041287334
根据 maven 文档,我将此参数的值更新为https://repo1.maven.org/maven2/但这并没有解决问题。而是将值更新为http://insecure.repo1.maven.org/maven2/解决了问题。
Zeppelin 似乎没有为 Maven 存储库使用 https。任何人都可以确认是否是这种情况,或者是否需要进行一些额外的设置才能使其正常工作?
apache-zeppelin ×10
apache-spark ×5
pyspark ×2
python ×2
amazon-emr ×1
anaconda ×1
angularjs ×1
apache-kafka ×1
aws-glue ×1
docker ×1
histogram ×1
hive ×1
maven ×1
plotly ×1
requirejs ×1
scala ×1