来源 | medium

编译 | 武明利

责编 | Carol

出品 | CSDN云计算(ID:CSDNcloud)

如今,Python真是无处不在。尽管许多看门人争辩说,如果他们不使用比Python更难的语言编写代码,那么一个人是否真是软件开发人员,但它仍然无处不在。

Python被用于自动化,管理网站,分析数据和处理大数据。随着数据的增长,我们对其进行管理的方式越来越需要调整。我们不再局限于仅使用关系型数据库。这也意味着现在有更多与这些新系统进行交互的工具,例如Kafka,Hadoop(具体来说是HBase),Spark,BigQuery和Redshift(仅举几例)。

这些系统中的每一个都利用如分布式、柱状结构和流数据之类的概念来更快地向终端用户提供信息。对于更快、更新的信息需求将促使数据工程师和软件工程师利用这些工具。这就是为什么我们想要提供一些Python库的快速介绍来帮助你。

BigQuery

谷歌BigQuery是一个非常受欢迎的企业仓库,由谷歌云平台(GCP)和Bigtable组合而成。这个云服务可以很好地处理各种大小的数据,并在几秒钟内执行复杂的查询。

BigQuery是一个RESTful网络服务,它使开发人员能够结合谷歌云平台对大量数据集进行交互分析。可以看看下方另一个例子。

之前写过一篇文章里有说明如何连接到BigQuery,然后开始获取有关将与之交互的表和数据集的信息。在这种情况下,Medicare数据集是任何人都可以访问的开源数据集。

关于BigQuery的另一点是,它是在Bigtable上运行的。重要的是要了解该仓库不是事务型数据库。因此,不能将其视为在线交易处理(OLTP)数据库。它是专为大数据而设计的。所以它的工作与千万字节(PB)级的数据集的处理保持一致。

Redshift and Sometimes S3

接下来是亚马逊(Amazon)流行的Redshift和S3。AmazonS3本质上是一项存储服务,用于从互联网上的任何地方存储和检索大量数据。使用这项服务,你只需为实际使用的存储空间付费。另一方面,Redshift是一个管理完善的数据仓库,可以有效地处理千万字节(PB)级的数据。该服务使用SQL和BI工具可以更快地进行查询。

Amazon Redshift和S3作为一个强大的组合来处理数据:使用S3可以将大量数据上传Redshift仓库。用Python编程时,这个功能强大的工具对开发人员来说非常方便。

这是一个选择使用psycopg2的基本连接的脚本。我借用了Jaychoo代码。但是,这再次提供了有关如何连接并从Redshift获取数据的快速指南。

PySpark

让我们离开数据存储系统的世界,来研究有助于我们快速处理数据的工具。Apache Spark是一个非常流行的开源框架,可以执行大规模的分布式数据处理,它也可以用于机器学习。该集群计算框架主要侧重于简化分析。它与弹性分布式数据集(RDD)配合使用,并允许用户处理Spark集群的管理资源。

它通常与其他Apache产品(例如HBase)结合使用。Spark将快速处理数据,然后将其存储到其他数据存储系统上设置的表中。

有时候,安装PySpark可能是个挑战,因为它需要依赖项。你可以看到它运行在JVM之上,因此需要Java的底层基础结构才能运行。然而,在Docker盛行的时代,使用PySpark进行实验更加方便。

阿里巴巴使用PySpark来个性化网页和投放目标广告——正如许多其他大型数据驱动组织一样。

Kafka Python

Kafka是一个分布式发布-订阅消息传递系统,它允许用户在复制和分区主题中维护消息源。

这些主题基本上是从客户端接收数据并将其存储在分区中的日志。Kafka Python被设计为与Python接口集成的官方Java客户端。它最好与新的代理商一起使用,并向后兼容所有旧版本。使用KafkaPython编程同时需要引用使用者(KafkaConsumer)和引用生产者(KafkaProducer)。

在Kafka Python中,这两个方面并存。KafkaConsumer基本上是一个高级消息使用者,将用作官方Java客户端。

它要求代理商支持群组API。KafkaProducer是一个异步消息生成器,它的操作方式也非常类似于Java客户端。生产者可以跨线程使用而没有问题,而消费者则需要多线程处理。

Pydoop

让我们解决这个问题。Hadoop本身并不是一个数据存储系统。Hadoop实际上具几个组件,包括MapReduce和Hadoop分布式文件系统(HDFS)。因此,Pydoop在此列表中,但是你需要将Hadoop与其他层(例如Hive)配对,以便更轻松地处理数据。

Pydoop是Hadoop-Python界面,允许与HDFSAPI交互,并使用纯Python代码编写MapReduce工作。

该库允许开发人员无需了解Java即可访问重要的MapReduce功能,例如RecordReader和Partitioner。

对于大多数数据工程师而言,Pydoop本身可能有点太基本了。你们中的大多数人很可能会在Airbow中编写在这些系统之上运行的ETLs。但是,至少对你的工作有一个大致的了解还是很不错的。

从哪里开始呢?

未来几年,管理大数据只会变得越来越困难。由于日益剧增的网络能力——物联网(IoT),改进的计算等等——我们得到的数据将会如洪流般地继续增长。

因此,如果我们想要跟上步伐,,有必要了解一些可用于与这些系统进行交互的数据系统和库。

你有什么看法?欢迎评论区和我们讨论。


推荐阅读:10 个实用功能告诉你,谷歌云(Google Cloud)相对亚马逊云(AWS)有哪些优势?
我是如何用6个月,从0编程经验变成数据科学家的?
爱荷华大选 App 投票酿闹剧的反思:为什么我们在软件工程方面如此糟糕?
愿得一心人:硅谷亿万富豪们的婚姻怎样?有人白首相守七十年
一文告诉你,如何使用Python构建一个“谷歌搜索”系统 | 内附代码
区块链的阴暗面
真香,朕在看了!猛戳“阅读原文”,填写中国远程办公-调查问卷

如何使用5个Python库管理大数据?相关推荐

  1. pythonppt教材_PPT、H5、Python、大数据……浙江中小学新教材9月投入使用!

    今年9月的新学期,浙江三到九年级信息技术课将替换新教材.消息一出,引起浙江学生家长的关注. 其中最大的变化是,八年级将新增Python课程内容.新高一信息技术编程语言由VB替换为Python,大数据. ...

  2. python大数据分析实例-如何用Python分析大数据(以Twitter数据挖掘为例)

    原标题:如何用Python分析大数据(以Twitter数据挖掘为例) 来源:艾翻译(http://www.itran.cc/) 原文标题:Twitter Data Mining: A Guide to ...

  3. 财务大数据比赛有python吗-Python 适合大数据量的处理吗?

    我很喜欢用python,用python处理数据是家常便饭,从事的工作涉及nlp,算法,推荐,数据挖掘,数据清洗,数据量级从几十k到几T不等,我来说说吧 百万级别数据是小数据,python处理起来不成问 ...

  4. python处理excel大数据-Python实现大数据收集至excel的思路详解

    一.在工程目录中新建一个excel文件 二.使用python脚本程序将目标excel文件中的列头写入,本文省略该部分的code展示,可自行网上查询 三.以下code内容为:实现从接口获取到的数据值写入 ...

  5. python能处理多大的数据-Python 适合大数据量的处理吗?

    python 能处理数据库中百万行级的数据吗? 处理大规模数据时有那些常用的python库,他们有什么优缺点?适用范围如何? 王守崑,推荐系统,数据挖掘 需要澄清两点之后才可以比较全面的看这个问题: ...

  6. python做大数据的框架_Python+大数据计算平台,PyODPS架构手把手教你搭建

    原文链接:http://click.aliyun.com/m/13965/ 在2016年10月的云栖社区在线培训上,来自阿里云大数据事业部的秦续业分享了<双剑合壁--Python和大数据计算平台 ...

  7. 【Python开发】Python 适合大数据量的处理吗?

    Python 适合大数据量的处理吗? python 能处理数据库中百万行级的数据吗? 处理大规模数据时有那些常用的python库,他们有什么优缺点?适用范围如何? 需要澄清两点之后才可以比较全面的看这 ...

  8. python开发转行做数据分析_转行学IT,Java、Python、大数据选择学哪个发展好?

    对薪资不满意.担心自己以后不好找工作,不少人都会选择参加培训,转行IT行业.当然很多想要转行IT的人,都会犹豫选择哪门编程语言学习比较好,Python.Java.大数据作为比较热门行业技术,不少人都很 ...

  9. 基于python的分布式扫描器_一种基于python的大数据分布式任务处理装置的制作方法...

    本发明涉及数据处理技术,具体是一种基于python的大数据分布式任务处理装置. 背景技术: 本发明提供一种分布式队列任务处理方案和装置,该方法可以提供分布式处理python任务,任务类型包括爬虫及其他 ...

最新文章

  1. Flash Communication Server笔记一
  2. Remove Duplicates from Sorted ListII
  3. JVM 最多支持多少个线程?
  4. ASP.NET AJAX深入浅出系列课程
  5. mysql 一对一关联查询_学习ThinkPHP的第20天--MySQL事务操作、查询事件、一对一关联...
  6. cmake 2.8.12在redhat 4.4下安装
  7. Conversion to Dalvik format failed with error 1
  8. 【CF566#D】 Restructuring Company (并查集---合并区间操作)
  9. 大一计算机专业学生如何在寒假充电?
  10. Spark源码系列(五)分布式缓存
  11. Unity 检测物体是否在相机视野范围内
  12. matlab之svd、svds函数
  13. 使用Elcomsoft Advanced Office Password Recovery对Office文档进行密码恢复
  14. 001-电脑操作规范-2019年03月.doc
  15. UE4 实时获取天气信息
  16. 1674386-82-3,Lipoamido-PEG2-alcohol醇基可以反应进一步衍生化合物
  17. 测绘工程和计算机专业哪个好,测绘工程专业就业前景如何
  18. 西北乱跑娃 --- 持续稳定的isbn接口
  19. 开启AI世界的大门 —— 从人工智能到计算机视觉
  20. 神舟Z7-CT7NK配置深度学习环境遇到的问题,避免后续踩坑

热门文章

  1. android 指定语言的资源,Android国际化多语言切换
  2. java题霸_牛客题霸每日一题 + NC50 + Java题解
  3. kvm虚拟机不通网关_linux ssh 虚拟机下CentOS7开启SSH连接
  4. 怎么判断自己适不适合读博士?
  5. To 研究生,第一:做学位论文期间,不要有任何度假休息的打算;第二,导师错的时候不多;第三……...
  6. 知乎热点:数学专业的学霸们毕业后都在做什么
  7. 基金委通报科研诚信违规违纪案件查处情况
  8. python机器学习常用包
  9. 北京市(朝阳区)(西城区)(海定区)正则表达式(代码保存)
  10. C语言实验——数组逆序