随笔分类 -  luigi

摘要:luigi的执行和触发模型非常简单。 一、luigi的执行模型 当你执行一个luigi的工作流的时候,worker调度所有的task,并且执行task在一个单独的进程中。 这种scheme最大的好处是容易调试,因为所有的task都在单独的进程中运行。你可以使用crontab的方式来触发他。 阅读全文
posted @ 2016-07-29 12:57 dongdone 阅读(624) 评论(0) 推荐(0) 编辑
摘要:--local-scheduler一般用在开发阶段,这在一个产品中是不建议这样使用的。使用中央调度器有两个目的: 保证两个相同的task不会同时运行两次 提供一个可视化的界面 注意:中央调度器并不会帮助你执行任何任务或者帮助你使得你的任务更加并行。 一、luigid serevr 1.1运行luig 阅读全文
posted @ 2016-07-29 11:13 dongdone 阅读(855) 评论(0) 推荐(0) 编辑
摘要:最简单去运行一个luigi task的方式是通过luigi命令行工具。 示例代码: 在命令行上运行: 或者可以选择这种方式运行: 注意:如果一个参数的名字中含有'_',在命令行中你需要替代为'-'。例如MyTask有一个参数名字是'my_parameter',你需要这么赋值: luigi --mod 阅读全文
posted @ 2016-07-29 10:46 dongdone 阅读(581) 评论(0) 推荐(0) 编辑
摘要:parameter就好比是一个task的构造方法。luigi要求你在类的scope上定义parameter。 如下面就是一个定义parameter的例子: 对于上述的parameter你可以使用这样的方式来初始化: DailyReport(datetime.date(2012,5,10))或者仅仅使 阅读全文
posted @ 2016-07-28 11:36 dongdone 阅读(1268) 评论(0) 推荐(0) 编辑
摘要:task是代码执行的地方。task通过target互相依赖。 下面是一个典型的task的大纲视图。 一、Task.requires requires方法用来指定本task的依赖的其他task对象,依赖的task对象甚至可以是同一个class的对象,下面是一个例子: 上述的DailyReport ta 阅读全文
posted @ 2016-07-27 11:44 dongdone 阅读(3023) 评论(0) 推荐(1) 编辑
摘要:luigi提供了两个基本单元来构造一个工作流,这两个基本单元分别是Task和Target。这两个单元都是抽象类,我们实现他们中的某些方法就可以了。除了这两个基本单元,还有一个重要的概念是Prameter,它可以控制task的运行方式。 一、target target对应的是磁盘上的一个文件,或者是H 阅读全文
posted @ 2016-07-26 11:52 dongdone 阅读(1109) 评论(0) 推荐(0) 编辑
摘要:--local-scheduler的方式只适用于开发调试阶段,当你真正要把程序部署到一个产品时,我们推荐使用luigid服务。 使用luigid服务不但能提供锁服务(防止一个任务被多个进程重复执行),并且还提供了一个友好的可视界面。 一、如何使用luigid 1.1执行luigid 首先你在一个终端 阅读全文
posted @ 2016-07-26 10:49 dongdone 阅读(1029) 评论(0) 推荐(0) 编辑
摘要:一、luigi配置文件的加载顺序 /etc/luigi/client.cfg luigi.cfg LUIGI_CONFIG_PATH环境变量 二、配置文件分节 配置文件被分为了多个section,每一个控制着不同方面的配置 三、利用配置文件来给参数赋值 如果你有这样的一个类: 你可以使用配置文件的方 阅读全文
posted @ 2016-07-25 15:44 dongdone 阅读(1199) 评论(0) 推荐(0) 编辑
摘要:一、AggregateArtistsHadoop 实现的功能和AggregateArtists类似,需要注意的是: luigi.contrib.hadoop.JobTask不需要你实现run方法,需要你实现mapper和reducer方法。mapper和combiner需要yield包含两个元素的t 阅读全文
posted @ 2016-07-25 15:15 dongdone 阅读(1219) 评论(0) 推荐(0) 编辑
摘要:一、luigi介绍 luigi是基于python语言的,可帮助建立复杂流式批处理任务管理系统。这些批处理作业典型的有hadoop job,数据库数据的导入与导出,或者是机器学习算法等等。 luigi的github:https://github.com/spotify/luigi 目前已经有一些抽象层 阅读全文
posted @ 2016-07-25 11:38 dongdone 阅读(3645) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示