GVKun编程网logo

Zeppelin 0.9 在 YARN 客户端模式下运行 Spark 笔记本,而不是 YARN 集群(zeppelin apache)

1

此处将为大家介绍关于Zeppelin0.9在YARN客户端模式下运行Spark笔记本,而不是YARN集群的详细内容,并且为您解答有关zeppelinapache的相关问题,此外,我们还将为您介绍关于.

此处将为大家介绍关于Zeppelin 0.9 在 YARN 客户端模式下运行 Spark 笔记本,而不是 YARN 集群的详细内容,并且为您解答有关zeppelin apache的相关问题,此外,我们还将为您介绍关于.spark.sql.execution.WholeStageCodegenExec$ 这个异常影响运行吗?spark on yarn 的任务、Apache Zeppelin Spark - 使用 Cron 调度程序运行笔记本后找不到表、apache.spark:应该在客户端设置 spark.yarn.jars 属性吗?、Flink on Zeppelin 系列之:Yarn Application 模式支持的有用信息。

本文目录一览:

Zeppelin 0.9 在 YARN 客户端模式下运行 Spark 笔记本,而不是 YARN 集群(zeppelin apache)

Zeppelin 0.9 在 YARN 客户端模式下运行 Spark 笔记本,而不是 YARN 集群(zeppelin apache)

如何解决Zeppelin 0.9 在 YARN 客户端模式下运行 Spark 笔记本,而不是 YARN 集群?

我刚刚设置了 Zeppelin(版本 0.9)以与 Hadoop (3.3.0) + Spark (3.1.2) 一起运行。我正在尝试运行 Zeppelin 网站中给出的示例代码:

val bankText = sc.textFile("file:///path/to/bank/bank-full.csv")

case class Bank(age:Integer,job:String,marital : String,education : String,balance : Integer)

// split each line,filter out header (starts with "age"),and map it into Bank case class
val bank = bankText.map(s=>s.split(";")).filter(s=>s(0)!="\"age\"").map(
    s=>Bank(s(0).toInt,s(1).replaceAll("\"",""),s(2).replaceAll("\"",s(3).replaceAll("\"",s(5).replaceAll("\"","").toInt
        )
)

// convert to DataFrame and create temporal table
bank.toDF().registerTempTable("bank")

然后:

%sql select age,count(1) from bank where age < 30 group by age order by age

当我在 YARN 客户端模式下运行它时,它工作正常并产生预期的输出。但是当我尝试在 YARN 集群模式下运行时,它给了我以下错误:

 INFO [2021-07-23 06:05:49,623] ({SchedulerFactory6} ProcessLauncher.java[transition]:109) - Process state is transitioned to LAUNCHED
 INFO [2021-07-23 06:05:49,624] ({SchedulerFactory6} ProcessLauncher.java[launch]:96) - Process is launched: [/opt/zeppelin/bin/interpreter.sh,-d,/opt/zeppelin/interpreter/spark,-c,10.0.15.21,-p,37921,-r,:,-i,spark-shared_process,-l,/opt/zeppelin/local-repo/spark,-g,spark]
 WARN [2021-07-23 06:05:59,666] ({Exec Default Executor} RemoteInterpreterManagedProcess.java[onProcessComplete]:255) - Process is exited with exit value 0
 INFO [2021-07-23 06:05:59,667] ({Exec Default Executor} ProcessLauncher.java[transition]:109) - Process state is transitioned to COMPLETED
 INFO [2021-07-23 06:06:06,192] ({pool-7-thread-5} RemoteInterpreterEventServer.java[registerInterpreterProcess]:176) - Register interpreter process: 10.0.15.21:43289,interpreterGroup: spark-shared_process
 INFO [2021-07-23 06:06:06,193] ({pool-7-thread-5} ProcessLauncher.java[transition]:109) - Process state is transitioned to RUNNING
 INFO [2021-07-23 06:06:06,193] ({SchedulerFactory6} RemoteInterpreterManagedProcess.java[start]:132) - Detected yarn app: application_1627000352599_0011,add it to YarnAppMonitor
ERROR [2021-07-23 06:06:06,194] ({SchedulerFactory6} Job.java[run]:174) - Job Failed
java.lang.NoClassDefFoundError: org/apache/hadoop/conf/Configuration
    at org.apache.zeppelin.interpreter.remote.RemoteInterpreterManagedProcess.start(RemoteInterpreterManagedProcess.java:133)
    at org.apache.zeppelin.interpreter.ManagedInterpreterGroup.getorCreateInterpreterProcess(ManagedInterpreterGroup.java:68)
    at org.apache.zeppelin.interpreter.remote.RemoteInterpreter.getorCreateInterpreterProcess(RemoteInterpreter.java:104)
    at org.apache.zeppelin.interpreter.remote.RemoteInterpreter.internal_create(RemoteInterpreter.java:154)
    at org.apache.zeppelin.interpreter.remote.RemoteInterpreter.open(RemoteInterpreter.java:126)
    at org.apache.zeppelin.interpreter.remote.RemoteInterpreter.getFormType(RemoteInterpreter.java:271)
    at org.apache.zeppelin.notebook.Paragraph.jobRun(Paragraph.java:444)
    at org.apache.zeppelin.notebook.Paragraph.jobRun(Paragraph.java:72)
    at org.apache.zeppelin.scheduler.Job.run(Job.java:172)
    at org.apache.zeppelin.scheduler.AbstractScheduler.runJob(AbstractScheduler.java:132)
    at org.apache.zeppelin.scheduler.RemoteScheduler$JobRunner.run(RemoteScheduler.java:182)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.classNotFoundException: org.apache.hadoop.conf.Configuration
    at java.net.urlclassloader.findClass(urlclassloader.java:382)
    at java.lang.classLoader.loadClass(ClassLoader.java:418)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)
    at java.lang.classLoader.loadClass(ClassLoader.java:351)
    ... 18 more
ERROR [2021-07-23 06:06:06,195] ({SchedulerFactory6} NotebookServer.java[onStatusChange]:1920) - Error
java.lang.NoClassDefFoundError: org/apache/hadoop/conf/Configuration
    at org.apache.zeppelin.interpreter.remote.RemoteInterpreterManagedProcess.start(RemoteInterpreterManagedProcess.java:133)
    at org.apache.zeppelin.interpreter.ManagedInterpreterGroup.getorCreateInterpreterProcess(ManagedInterpreterGroup.java:68)
    at org.apache.zeppelin.interpreter.remote.RemoteInterpreter.getorCreateInterpreterProcess(RemoteInterpreter.java:104)
    at org.apache.zeppelin.interpreter.remote.RemoteInterpreter.internal_create(RemoteInterpreter.java:154)
    at org.apache.zeppelin.interpreter.remote.RemoteInterpreter.open(RemoteInterpreter.java:126)
    at org.apache.zeppelin.interpreter.remote.RemoteInterpreter.getFormType(RemoteInterpreter.java:271)
    at org.apache.zeppelin.notebook.Paragraph.jobRun(Paragraph.java:444)
    at org.apache.zeppelin.notebook.Paragraph.jobRun(Paragraph.java:72)
    at org.apache.zeppelin.scheduler.Job.run(Job.java:172)
    at org.apache.zeppelin.scheduler.AbstractScheduler.runJob(AbstractScheduler.java:132)
    at org.apache.zeppelin.scheduler.RemoteScheduler$JobRunner.run(RemoteScheduler.java:182)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.classNotFoundException: org.apache.hadoop.conf.Configuration
    at java.net.urlclassloader.findClass(urlclassloader.java:382)
    at java.lang.classLoader.loadClass(ClassLoader.java:418)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)
    at java.lang.classLoader.loadClass(ClassLoader.java:351)

我真的不知道该怎么做。我尝试通过 hadoop classpath 获取 Hadoop 类路径并返回:

/opt/hadoop/etc/hadoop:/opt/hadoop/share/hadoop/common/lib/*:/opt/hadoop/share/hadoop/common/*:/opt/hadoop/share/hadoop/hdfs:/opt/hadoop/share/hadoop/hdfs/lib/*:/opt/hadoop/share/hadoop/hdfs/*:/opt/hadoop/share/hadoop/mapreduce/*:/opt/hadoop/share/hadoop/yarn:/opt/hadoop/share/hadoop/yarn/lib/*:/opt/hadoop/share/hadoop/yarn/*

然后我将其添加到 spark-defaults.confspark.driver.extraClasspath 中的 spark.executor.extraClasspath,因为 org.apache.hadoop.conf.Configurationhadoop-commons-3.3.0.jar 内。我还确保在 zeppelin-env.sh 中包含适当的信息:

export HADOOP_HOME=/opt/hadoop
export HADOOP_CONF_DIR=/opt/hadoop/etc/hadoop/
export USE_HADOOP=true
export SPARK_HOME=/opt/spark

但由于某种原因,我似乎无法通过 Zeppelin 以 YARN 集群模式进行部署(如果我自己使用 spark-submit,我可以。)

注意:我禁用了 zeppelin.spark.enableSupportedVersionCheck,因为我使用的是由 Zeppelin 官方支持的 Spark 3.1.2 与 Spark 3.0 版本。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

.spark.sql.execution.WholeStageCodegenExec$ 这个异常影响运行吗?spark on yarn 的任务

.spark.sql.execution.WholeStageCodegenExec$ 这个异常影响运行吗?spark on yarn 的任务

20/03/23 10:13:08 INFO cluster.YarnScheduler: Adding task set 1.0 with 1 tasks
20/03/23 10:13:08 INFO scheduler.TaskSetManager: Starting task 0.0 in stage 1.0 (TID 1, slave2, executor 1, partition 0, PROCESS_LOCAL, 7778 bytes)
20/03/23 10:13:08 INFO storage.BlockManagerInfo: Added broadcast_1_piece0 in memory on slave2:32779 (size: 6.3 KB, free: 912.3 MB)
20/03/23 10:13:09 WARN scheduler.TaskSetManager: Lost task 0.0 in stage 1.0 (TID 1, slave2, executor 1): java.lang.NullPointerException
    at security.view.model.FirewallIncidentCountanonfun$main$2

anonfun$2.apply(FirewallIncidentCount.scala:103)
    at security.view.model.FirewallIncidentCountanonfun$main$2
anonfun$2.apply(FirewallIncidentCount.scala:85)
    at scala.collection.Iteratoranon$11.next(Iterator.scala:410)atscala.collection.Iterator
anon$11.next(Iterator.scala:410)
    at org.apache.spark.sql.catalyst.expressions.GeneratedClass$GeneratedIteratorForCodegenStage1.processNext(Unknown Source)
    at org.apache.spark.sql.execution.BufferedRowIterator.hasNext(BufferedRowIterator.java:43)
    at org.apache.spark.sql.execution.WholeStageCodegenExecanonfun$11
anon$1.hasNext(WholeStageCodegenExec.scala:624)
    at org.apache.spark.sql.execution.SparkPlananonfun$2.apply(SparkPlan.scala:255)atorg.apache.spark.sql.execution.SparkPlan
anonfun$2.apply(SparkPlan.scala:247)
    at org.apache.spark.rdd.RDDanonfun$mapPartitionsInternal$1
anonfun$apply$24.apply(RDD.scala:836)
    at org.apache.spark.rdd.RDDanonfun$mapPartitionsInternal$1
anonfun$apply$24.apply(RDD.scala:836)
    at org.apache.spark.rdd.MapPartitionsRDD.compute(MapPartitionsRDD.scala:52)
    at org.apache.spark.rdd.RDD.computeOrReadCheckpoint(RDD.scala:324)
    at org.apache.spark.rdd.RDD.iterator(RDD.scala:288)
    at org.apache.spark.scheduler.ResultTask.runTask(ResultTask.scala:90)
    at org.apache.spark.scheduler.Task.run(Task.scala:121)
    at org.apache.spark.executor.Executor$TaskRunner$$anonfun$11.apply(Executor.scala:407)
    at org.apache.spark.util.Utils$.tryWithSafeFinally(Utils.scala:1408)
    at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:413)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)

Apache Zeppelin Spark - 使用 Cron 调度程序运行笔记本后找不到表

Apache Zeppelin Spark - 使用 Cron 调度程序运行笔记本后找不到表

如何解决Apache Zeppelin Spark - 使用 Cron 调度程序运行笔记本后找不到表

使用以前版本的 Apache Zeppelin 和 Spark,一切正常。 最近我们升级到 Zeppelin 0.9 和 Spark 3.0.2 (Hadoop 3.2)。 现在,我们在从 UI Cron 调度程序运行 Notebook 时遇到了问题。

在该计划的笔记本中创建表格后,手动运行任何笔记本/段落时都看不到/找不到该表格。

示例:

第 1 段

  1. case class People(name: String,age: Int)
  2. var df = spark.createDataFrame(List(People("jeff",23),People("andy",20)))
  3. df.createOrReplaceTempView("people")

第 2 段

  1. %sql
  2. select * from people

如果这 2 个段落由 Zeppelin Cron 调度程序运行,则一切正常。 但是如果我只手动运行第 2 段,将找不到该表。

  1. Table or view not found: people; line 2 pos 14;
  2. ''Project [*]
  3. +- ''UnresolvedRelation [people]

当然,如果我手动运行第1段,就会找到表格。

由于这个问题,我们临时切换到使用 zeppelin API 触发器的 ubuntu crontab。但是在使用该解决方案时,我们遇到了一些奇怪的问题。在某些时候,几乎每天我们都必须重新启动整个集群,因为它不再工作了…… 这就是为什么我更喜欢使用内置的 Zeppelin cron 调度程序来工作。

我想某处有一个配置可以强制 Zeppelin 在相同的上下文中运行笔记本?我已将 Spark 解释器设置为在共享进程中全局实例化

谢谢。

apache.spark:应该在客户端设置 spark.yarn.jars 属性吗?

apache.spark:应该在客户端设置 spark.yarn.jars 属性吗?

如何解决apache.spark:应该在客户端设置 spark.yarn.jars 属性吗?

我有一个关于 spark.yarn.jars 属性和 Spark 集群组织的基本问题。

我看到了几个关于该属性 spark2 + yarn - nullpointerexception while preparing AM container,Property spark.yarn.jars - how to deal with it? 的问题,这让我陷入了困境。这是我的设置:

  • 鉴于我在火花纱线集群上运行我的工作
  • 我正在提交一些 jar 以进行 spark-submit
  • 作业转到多个节点执行
  • 所有节点都有一些位于某处的火花罐,描述为 spark.yarn.jars 属性

由此我得出结论:

  1. spark.yarn.jars 是服务器端的属性,它与提交作业的 spark 客户端无关。我从来没有在我的本地 spark conf 中设置它。正确吗?

  2. 如果是,我对文档中的这段摘录感到困惑:

要使 Spark 运行时 jar 可从 YARN 端访问,您可以指定 spark.yarn.archive 或 spark.yarn.jars。详情请参考 火花属性。如果 spark.yarn.archive 和 spark.yarn.jars 都不是 指定,Spark 将创建一个包含所有 jars 的 zip 文件 $SPARK_HOME/jars 并将其上传到分布式缓存。

所以实际上他们所说的是本地 Spark 客户端将从本地 $SPARK_HOME/jars 复制 jars 并将它们上传到集群,具体取决于我工作中 spark.yarn.jars 的本地值?这与 p.1 相矛盾。

真相在哪里?应该用 spark.yarn.jars 来激发客户的交易吗?

Flink on Zeppelin 系列之:Yarn Application 模式支持

作者:章剑锋(简锋)


去年 Flink Forward 在讲 Flink on Zeppelin 这个项目的未来时我们谈到了对Application 模式的支持,今天就有一个好消息要告诉大家,社区已经实现了这一Feature,欢迎大家加入 Flink on Zeppelin 的钉钉群(32803524),下载最新版来使用这个Feature。


Tips:点击文末 阅读原文 查看更多技术干货~
 
 GitHub 地址 
https://github.com/apache/flink
欢迎大家给 Flink 点赞送 star~

Application mode 是 Flink 1.11 之后引入的新的运行模式,所要解决的问题就是减少客户端的压力,把用户的 main 函数运行在 JobManager 里而不是在用户客户端。这种模式是非常适合 Flink on Zeppelin 的,因为 Flink on Zeppelin 的客户端就是  Flink interpreter 进程,而 Flink interpreter 是一个 long running 的 main 函数,不断接受来自前端的命令,进行相应的操作(比如提交 Job,停止 Job 等等)。接下来我们就要详细讲下 Zeppelin 如何实现了 Yarn Application 模式,以及如何使用这一模式。
 

一、架构


在讲 Yarn Application 模式架构的时候,我们顺便来讲下 Flink on Zeppelin 的架构演变过程。
 
普通的 Flink on Yarn 运行模式

这种模式的客户端中,Flink Interpreter 进程运行在 Zeppelin server这台机器上,每个客户端对应一个 Yarn 上的 Flink Cluster,如果 Flink Interpreter 进程很多,会对 Zeppelin 这台机器造成很大的压力。

参考文档:
https://www.yuque.com/jeffzhangjianfeng/gldg8w/wt1g3h

参考视频:
https://www.bilibili.com/video/BV1Te411W73b?p=6



Yarn Interpreter 模式

Yarn Interpreter 把客户端 (Flink Interpreter)移到了 Yarn 集群,把资源压力转移到了 Yarn 集群,解决上上面普通 Flink on Yarn 运行模式的一部分问题,这种模式会需要为每个 Flink Cluster 额外申请一个 Yarn Container 来运行这个 Flink Interpreter,在资源利用方面并不是很高效。

参考文档:
https://www.yuque.com/jeffzhangjianfeng/gldg8w/gcah8t

参考视频:
https://www.bilibili.com/video/BV1Te411W73b?p=24



Yarn Application 模式

Yarn Application 模式彻底解决了前面 2 种模式的问题,把 Flink interpreter 跑在了 JobManager 里,这样既不影响 Zeppelin Server 这台机器的资源压力,也不会对 Yarn 集群资源造成任何浪费。  


二、如何使用 Yarn Application 模式

 
配置 Yarn Application 模式非常简单,只要把 flink.execution.mode 设为yarn_application 即可。其他所有配置与其他模式没有区别。下面的所有 Flink on Zeppelin 的特性在 Yarn Application 模式下都可以照常使用。我们也借这个机会来  Review下Flink on Zeppelin 的所有功能。
 
多语言支持

在同一个 Flink Cluster 内支持以下 3 种语言,并且打通这 3 种语言(共享Catalog,共享 ExecutionEnvironment):

  • Scala (%flink)


  • PyFlink (%flink.pyflink)


  • SQL (%flink.ssql, %flink.bsql)


参考文档:
https://www.yuque.com/jeffzhangjianfeng/gldg8w/pg5s82
https://www.yuque.com/jeffzhangjianfeng/gldg8w/ggxz76
https://www.yuque.com/jeffzhangjianfeng/gldg8w/te2l1c

参考视频:
https://www.bilibili.com/video/BV1Te411W73b?p=4

Hive 整合

简单配置就可以启用 Hive。

参考文档:
https://www.yuque.com/jeffzhangjianfeng/gldg8w/agf94n

参考视频:
https://www.bilibili.com/video/BV1Te411W73b?p=10
 
UDF 支持

支持以下 4 种方式定义和使用 Flink UDF:

  • 在 Zeppelin 中直接写 Scala UDF;


  • 在 Zeppelin 中直接写 PyFlink UDF;


  • 用 SQL 创建 UDF;


  • 使用 flink.udf.jars 来指定含有 udf 的 jar。


参考文档:
https://www.yuque.com/jeffzhangjianfeng/gldg8w/dthfu2

参考视频:
https://www.bilibili.com/video/BV1Te411W73b?p=17
https://www.bilibili.com/video/BV1Te411W73b?p=18
https://www.bilibili.com/video/BV1Te411W73b?p=19


第三方依赖

在 Zeppelin 里可以用以下 2 种方式来指定第三方依赖,具体:

  • flink.excuetion.packages


  • flink.execution.jars (需要注意的是在 Yarn Application 模式下,这里需要指定 HDFS 路径,因为 Flink Interpreter 运行在 JobManager 里,而JobManager 是跑在 yarn container, 在 yarn container 那台 NodeManager  机器上不一定有你要指定的 jar)


参考文档:
https://www.yuque.com/jeffzhangjianfeng/gldg8w/rn6g1s

参考视频:
https://www.bilibili.com/video/BV1Te411W73b?p=15


Checkpoint & Savepoint

Checkpoint 和 Savepoint 照常使用。

参考文档:
https://www.yuque.com/jeffzhangjianfeng/gldg8w/mlnswx


SQL 高级功能

Zeppelin 对 Flink SQL做了一系列增强功能,这些增强功能都可以照常使用,比如:

  • 同时支持 Batch SQL 和 Streaming SQL


  • 多语句支持


  • Comment 支持


  • Job 并行度支持


  • Multiple insert 支持


  • JobName 的设置


  • Stream SQL 流式数据可视化

 
具体参考文档:
https://www.yuque.com/jeffzhangjianfeng/gldg8w/te2l1c


另外,阿里云开放平台团队长期招聘优秀大数据人才(包括实习+社招)。我们的主要职责为阿里云上的各大中小企业客户提供大数据和 AI 的基础服务。你的工作将是围绕 Spark,Flink,Hadoop,Tensorflow,PyTorch 等开源组件构建一个易用的,企业级的大数据和 AI 开放平台。不仅有技术的挑战,也需要做产品的激情。我们采用大量的开源技术(Hadoop, Flink, Spark, Zeppelin, Kubernetes,Tensorflow,Pytorch等等),并且致力于回馈到开源社区。

如果你对开源,大数据或者 AI 感兴趣,这里有最好的土壤。拥有在 Apache Flink, Apache Kafka, Apache Zeppelin,Apache Beam,Apache Druid,Apache Hbase 等诸多开源领域的 Committer & PMC。感兴趣的同学请发简历到:jeffzhang.zjf@alibaba-inc.com

更多 Flink 相关技术问题,可扫码加入社区钉钉交流



▼ 关注「Flink 中文社区」,获取更多技术干货 



  戳我,查看更多技术干货! 

本文分享自微信公众号 - Flink 中文社区(gh_5efd76d10a8d)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

关于Zeppelin 0.9 在 YARN 客户端模式下运行 Spark 笔记本,而不是 YARN 集群zeppelin apache的介绍已经告一段落,感谢您的耐心阅读,如果想了解更多关于.spark.sql.execution.WholeStageCodegenExec$ 这个异常影响运行吗?spark on yarn 的任务、Apache Zeppelin Spark - 使用 Cron 调度程序运行笔记本后找不到表、apache.spark:应该在客户端设置 spark.yarn.jars 属性吗?、Flink on Zeppelin 系列之:Yarn Application 模式支持的相关信息,请在本站寻找。

本文标签:

上一篇github 上的 Jupyter 笔记本:隐藏文件路径(jupyter notebook隐藏代码)

下一篇查看托管在 Sharepoint 上的 Jupyter 笔记本