数据挖掘与Taco Bell编程

程序员Ted Dziuba提出了一种他命名为“Taco Bell编程”的方案用于替代传统编程。Taco Bell链使用大概八种不同的元素来创建多种菜单项。Diziuba希望通过组合使用大概八种不同的shell脚本命令来创建多种应用程序。

这里有一个Dziuba提供的例子:

这是一个具体的例子:假设你需要下载几百万个网页并存储到硬盘中以便于后期处理。你应该怎么作?最直接的办法就是用Clojure写一个分布式网络爬虫并在EC2上运行,用类似SQS或ZeroMQ的消息队列来分别处理。

那么Taco Bell的做法呢?使用xargs和wget。在特殊情况下,比如你占满了网络连接资源的话,你可以添加一些拆分和同步。一个“分布式的网络爬虫”真的仅仅需要大概10行的shell脚本代码。

Dziuba提供了另外一个例子。与使用Hadoop来处理你所获得的信息不同,你可以使用:

find crawl_dir/ -type f -print0 | xargs -n1 -0 -P32 ./process

“这是处理大量数据问题的一种可行方法,至少对于一次性的工作而言是很好的,” 著名数据专家和读写网的攥稿人Pete Warden对于Dziuba的Taco Bell编程概念如此说,“你可以权衡开发速度与你对代码的管理力、控制力。”

你有类似的编程偏好么?

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。