如何从Apache Airflow触发Azure Databricks笔记本

时间:2020-06-22 07:40:57

标签: airflow azure-databricks

我已经在Azure数据砖笔记本中创建了一些ETL。 现在尝试从airflow-1.10.10执行该笔记本。

如果有人可以帮助,那就太好了。

谢谢。

1 个答案:

答案 0 :(得分:1)

Airflow includes native integration with Databricks,提供2个运算符: class DisplayCell extends StatelessWidget { final AutoSizeGroup autoSizeGroup; final String imageUrl; final String name; final String price; final String vendor; final Function onTap; const DisplayCell( {Key key, this.autoSizeGroup, this.imageUrl, this.name, this.price, this.vendor, this.onTap}) : super(key: key); @override Widget build(BuildContext context) { return Container( color: Colors.transparent, padding: EdgeInsets.all(5), child: Container( padding: EdgeInsets.all(10), decoration: BoxDecoration( color: Colors.black.withAlpha(120), borderRadius: BorderRadius.circular(5), border: Border.all(color: Colors.redAccent, width: 1), ), child: Column( // mainAxisAlignment: MainAxisAlignment.spaceBetween, children: <Widget>[ Expanded( flex: 2, child: Image( image: NetworkImage(imageUrl), ), ), Expanded( flex: 1, child: Column( mainAxisAlignment: MainAxisAlignment.spaceEvenly, children: <Widget>[ Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, mainAxisSize: MainAxisSize.max, children: <Widget>[ AutoSizeText( AppLocalizations.instance.text('Name:'), style: TextStyle(color: Colors.white, fontSize: 12), minFontSize: 8, maxLines: 1, group: autoSizeGroup, ), // SizedBox( // width: 10, // ), AutoSizeText( name, style: TextStyle(color: Colors.white, fontSize: 12), minFontSize: 8, maxLines: 1, group: autoSizeGroup, ), ], ), Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, mainAxisSize: MainAxisSize.max, children: <Widget>[ AutoSizeText( AppLocalizations.instance.text('Price:'), style: TextStyle(color: Colors.white, fontSize: 12), minFontSize: 8, maxLines: 1, group: autoSizeGroup, ), // SizedBox( // width: 10, // ), AutoSizeText( price, style: TextStyle(color: Colors.white, fontSize: 12), minFontSize: 8, maxLines: 1, group: autoSizeGroup, ), ], ), Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, mainAxisSize: MainAxisSize.max, children: <Widget>[ AutoSizeText( AppLocalizations.instance.text('Vendor:'), style: TextStyle(color: Colors.white, fontSize: 12), minFontSize: 8, maxLines: 1, group: autoSizeGroup, ), // SizedBox( // width: 10, // ), AutoSizeText( vendor, style: TextStyle(color: Colors.white, fontSize: 12), minFontSize: 8, maxLines: 1, group: autoSizeGroup, ), ], ), ], ), ), ], ), ), ); } } DatabricksRunNowOperator(程序包名称根据Airflow的版本而有所不同。还有一个example of how it could be used。 >

您将需要使用登录参数创建名称为DatabricksSubmitRunOperator的连接,该连接参数将用于计划您的工作。在最简单的情况下,对于作业,您只需要提供群集的定义和笔记本规格(至少要运行笔记本的路径),如下所示:

databricks_default

P.S。 old blog post中包含此集成的公告。