如何在databricks中按计划运行spark(python)etl管道

n53p2ov0  于 2021-05-18  发布在  Spark
关注(0)|答案(1)|浏览(523)

我有一个databricks笔记本(spark-python),它从s3读取数据,在完成一些etl工作后,将结果写入s3。现在我想在一个时间表上运行这个代码 .py 脚本,而不是笔记本。我希望运行python脚本的原因是它使版本控制更容易
我知道我需要在databricks中创建一个按计划运行的作业。但看起来databricks作业只能运行 JAR (scala)或 notebook . 我看不到运行python脚本的方法。
我错过什么了吗?

mlmc2os5

mlmc2os51#

不幸的是,这个功能目前在databricks ui中不可用,但是可以通过restapi访问。您需要使用sparkpythontask数据结构。
您可以在官方文档-jobs api示例中找到这个示例。

  1. curl -n -X POST -H 'Content-Type: application/json' -d \
  2. '{
  3. "name": "SparkPi Python job",
  4. "new_cluster": {
  5. "spark_version": "7.3.x-scala2.12",
  6. "node_type_id": "Standard_D3_v2",
  7. "num_workers": 2
  8. },
  9. "spark_python_task": {
  10. "python_file": "dbfs:/pi.py",
  11. "parameters": [
  12. "10"
  13. ]
  14. }
  15. }' https://<databricks-instance>/api/2.0/jobs/create


您可以使用数据工厂在azuredatabricks上执行jar和python脚本。
reference:execute jars 以及使用数据工厂的azure databricks上的python脚本

展开查看全部

相关问题