广东工业大学论坛

 找回密码
 注册(开放注册)
搜索
查看: 10255|回复: 0
打印 上一主题 下一主题

如何使用5个Python库管理大数据?

[复制链接]
跳转到指定楼层
1#
发表于 2020-3-12 16:05:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如何使用5个Python库管理大数据?
如今,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 PythonKafka

是一个分布式发布-订阅消息传递系统,它允许用户在复制和分区主题中维护消息源。
这些主题基本上是从客户端接收数据并将其存储在分区中的日志。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),改进的计算等等——我们得到的数据将会如洪流般地继续增长。
因此,如果我们想要跟上步伐,,有必要了解一些可用于与这些系统进行交互的数据系统和库。
您需要登录后才可以回帖 登录 | 注册(开放注册)

本版积分规则

手机访问本页请
扫描左边二维码
         本网站声明
本网站所有内容为网友上传,若存在版权问题或是相关责任请联系站长!
站长联系QQ:7123767   myubbs.com
         站长微信:7123767
请扫描右边二维码
www.myubbs.com

小黑屋|手机版|Archiver|广东工业大学论坛 ( 琼ICP备10001196号-2 )

GMT+8, 2024-4-26 12:51 , Processed in 0.041944 second(s), 14 queries .

Powered by 高考信息网 X3.3

© 2001-2013 大学排名

快速回复 返回顶部 返回列表