python中的数据处理实现

dampr的Python项目详细描述


dampr-纯python数据处理

dampr用于单机数据处理:它本机不在核心,支持map和reduce边连接、关联reduce合并器,并为构建数据流dag提供高级接口。

它相当快,容易开始,并按核心线性缩放。它没有外部依赖关系,因此非常轻量级,安装起来也很容易。它对数据分析有合理的repl支持,尽管有更好的工具来完成这项工作。

功能

  • 自包含:无外部依赖项,安装简单
  • 高级api:易于计算
  • 核心外:可扩展到100s GB到tbs的数据。不用担心内存不足的错误!
  • 相当快:线性缩放到机器上的核心数
  • 功能强大:为复杂的工作流提供许多高级连接和其他功能

设置

pip install dampr

python setup.py install

API

docs/dampr/index.html

示例

查看examples目录以获得更完整的示例。

类似地,这些测试的目的也是相当可读的。您可以在tests目录中查看它们。

示例-wc

importsysfromdamprimportDamprdefmain(fname):wc=Dampr.text(fname) \
            .map(lambdav:len(v.split())) \
            .a_group_by(lambdax:1) \
            .sum()results=wc.run("word-count")fork,vinresults:print("Word Count:",v)results.delete()if__name__=='__main__':main(sys.argv[1])

为什么不使用dask进行数据处理呢?

达斯克很棒!我强烈推荐它用于不需要复杂连接的快速分析和数据集!

然而。

dask实际上是用于内存计算和通过数据帧等接口进行更多分析处理。虽然它确实有一个合理的数据处理bag实现,但是它缺少一些重要的特性,比如跨大型数据集的连接。在尝试更复杂的过程时,当处理大于内存的数据集时,我经常遇到OOM错误。

从这个意义上说,dampr正试图弥合单一机器和重型系统上复杂数据处理的鸿沟,以便于使用。

为什么不使用pyspark进行数据处理呢?

Pyspark很棒!我强烈推荐它用于超大数据集和集群计算!

然而。

Pyspark需要大量的设置才能真正开始。它是“轻量级”的对立面,真正适合大规模生产部署。我个人不喜欢用它来证明概念或一次性的东西;它只需要稍微调整一下就可以得到你需要的东西。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
具有作为接口的属性的java Hibernate实体类   在Java中检查int l,r的条件l+1<r的最快方法   java如何更新TornadFX ComboBox Kotlin   java Tomcat未调用控制器api   java在Android Studio中的alertdialog中打开新活动   xml VScode Java/Maven环境问题不同的计算机   java我需要修改循环中的一个文本字符串,这样程序就可以复制粘贴相同的字符串,但数字会增加   java如何从Twilio响应消息中获取内容   从Java5+diamond运算符开始初始化泛型集合的java方法   在java中循环,直到用户按下enter键   java如何找到组件属于哪个面板?   java我想计算一个代码需要的总迭代次数   <data 安卓:type=“*/*”/>不允许使用java字符串类型   解析我有一个带有开始日期和目标日期的字符串,我想在Java中获取日期并保存在变量中   在mongodb中使用ReflectionDBObject类插入java对象?