我正在尝试在另一个笔记本中创建一个笔记本,创建的笔记本应该同时包含python代码和sql代码(使用% sql,% python ) .I需要在创建.Can后从父笔记本上运行创建的笔记本。
我发现像dbutils.notebook.run() -which这样的东西会帮助我运行已经存在的笔记本,但是寻找一种方法先创建一个笔记本,然后运行它,.Any建议是很好的!
发布于 2021-05-18 06:51:23
您可以使用import命令的Databricks工作区REST。
类似这样的内容(将笔记本内容放入content值):
import requests
import os
import json
import base64
ctx = json.loads(dbutils.notebook.entry_point.getDbutils().notebook().getContext().toJson())
host_name = ctx['extraContext']['api_url']
host_token = ctx['extraContext']['api_token']
notebook_path = ctx['extraContext']['notebook_path']
new_path = os.path.join(os.path.dirname(notebook_path), 'New name')
content = "some code"
data = {
"content": base64.b64encode(content.encode("utf-8")).decode('ascii'),
"path": new_path,
"language": "PYTHON",
"overwrite": True,
"format": "SOURCE"
}
response = requests.post(
'{host_name}/api/2.0/workspace/import',
headers={'Authorization': f'Bearer {host_token}'},
json = data
).json()https://stackoverflow.com/questions/67580306
复制相似问题