我正在Azure Databricks 5.5上使用Spark。我通过作业、笔记本和Spark提交通过Databrick工作区UI提交Spark作业。作业正在成功提交,Databricks正在生成新的集群或正在利用现有的集群。但是,默认情况下,在执行器节点上运行作业的用户是root用户。是否可以更改在Azure Databricks上运行作业的用户(本质上不允许SSH访问)?
通常,当我在具有Shell访问权限的集群上使用spark-submit CLI时;我使用sudo来更改用户:< code > sudo-u example user spark-submit...。在本例中,用户“exampleuser”出现在集群的所有节点上。所以,我想知道是否有可能改变在Azure Databricks集群中运行Spark作业的用户。
默认情况下,除非管理员启用作业访问控制,否则所有用户都可以创建和修改作业。通过作业访问控制,个人权限决定用户的能力。本主题介绍各个权限以及如何启用和配置作业访问控制。
作业有五种权限级别:无权限、可以查看、可以管理运行、是所有者和可以管理。“可以管理”权限是为管理员保留的。下表列出了每种权限的能力。
转到“管理控制台”=
注意:您必须是管理员或拥有“是所有者”权限才能配置职务提交。
首先,选择要更改用户的作业=
希望这有帮助。
如果这回答了您的问题,请单击“标记为答案”和“向上投票”。如果您有任何进一步的疑问,请告诉我们。
在与Azure Databricks团队讨论后,更改运行spark作业的用户的正确方法是在集群创建期间设置一个环境变量HADOOP_USER_NAME。这将运行Spark作业的有效用户从root更改为用户$HADOOP_USER_NAME
一个spark有一个oracle查询。所以我必须并行运行多个作业,以便所有查询都将同时激发。 如何并行运行多个作业?
我试图运行火花作业,基本上加载数据在卡桑德拉表。但它也产生了以下错误。
我必须在WIndows工作站上执行此操作
问题内容: 它说,在Apache Spark文档中,“ 在每个Spark应用程序中,如果多个“作业”(Spark操作)是由不同的线程提交的,则它们可以同时运行 ”。有人可以为以下示例代码解释如何实现此并发吗? 这两个作业是独立的,必须同时运行。 谢谢。 问题答案: 尝试这样的事情:
我有每天的cron作业,它应该在00:00运行在所有时区,但当应用程序在维护(可能是一两个小时),部分计划的作业丢失。 是否可以运行在维护期间错过的任务? 在Quartz shoutdown之前(从记录): 石英启动后:
问题内容: 我有一个运行长时间运行的作业的Web服务(大约几个小时)。我正在使用Flask,Gunicorn和nginx进行开发。 我正在考虑做的事情是拥有一条需要很长时间才能完成的路由,调用一个创建线程的函数。然后,该函数将向路径返回一个GUID,并且路径将返回一个URL(使用GUID),用户可以使用该URL来检查进度。我正在将线程设为守护程序(thread.daemon = True),以便如