首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >配置databricks-使用python OS模块进行连接

配置databricks-使用python OS模块进行连接
EN

Stack Overflow用户
提问于 2020-07-25 12:06:28
回答 2查看 470关注 0票数 1

我想在安装databricks之后通过python模块配置databricks-connect configure -通过os.system("pip install databricks-connect==6.5")连接

一旦databricks-connect成功安装,我们需要通过传递以下值来配置它:

代码语言:javascript
复制
host= "https://<location>.azuredatabricks.net",
port= "8787",
token = "<Token>",
cluster_id = "<ClusterId>",
org_id = "<OrgId>"

在终端中,如果我们键入databricks-connect configure,它将开始逐个询问上面的参数,如图所示:

现在,我希望使用python os.system运行相同的东西。

代码语言:javascript
复制
os.system("pip install databricks-connect")
os.system("databricks-connect configure")

之后如何通过主机、端口、令牌等?

在每个值之后,我们也必须按enter

当我在终端机上运行这件事时,

代码语言:javascript
复制
echo -e 'https://adb-661130381327abc.11.azuredatabricks.net\nxxxxx\n0529-yyyy-twins608\n6611303813275431\n15001' | databricks-connect configure

但是当我试图运行这个python os.module时,给我一个错误

代码语言:javascript
复制
os.sytem("echo -e 'https://adb-661130381327abc.11.azuredatabricks.net\nxxxxx\n0529-yyyy-twins608\n6611303813275431\n15001' | databricks-connect configure")

“新主机值必须以https://,开头,例如,https://demo.cloud.databricks.com")

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-07-25 18:08:30

对“Anmol”的一个小修改

代码语言:javascript
复制
import subprocess

host= "https://<location>.azuredatabricks.net"
port= "8787"
token = "<Token>"
cluster_id = "<ClusterId>"
org_id = "<OrgId>"

stdin_list = [host, port, token, cluster_id, org_id]
stdin_string = '\n'.join(stdin_list)
echo = subprocess.Popen((['echo', '-e', stdin_string]), stdout=subprocess.PIPE)
# fix typo from std_out to stdout
output = subprocess.check_output(('databricks-connect', 'configure'), stdin=echo.stdout)
echo.wait()
print(output.decode())
代码语言:javascript
复制
echo -e

负责进入

票数 1
EN

Stack Overflow用户

发布于 2020-07-25 13:03:38

您可以将数据以stdin的形式传输到程序中。

代码语言:javascript
复制
import os


host= "https://<location>.azuredatabricks.net"
port= "8787"
token = "<Token>"
cluster_id = "<ClusterId>"
org_id = "<OrgId>"

stdin_list = [host, port, token, cluster_id, org_id]
stdin_string = '\n'.join(stdin_list)
command = "echo '{}' | {}".format(stdin_string, "databricks-connect configure")
os.system(command)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63088121

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档