课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
数据管理是每一个软件开发程序员在学习服务器运维技术的时候需要重点掌握的一个编程知识,下面我们就通过案例分析来了解一下,数据管理都包含了哪些管理方法。
数据提取(Ingestions)
提取模块用于负责从数据源读取数据的过程,该模块通过API从每个数据源读取数据。在我们提取这些数据之前,需要先进行数据剖析(dataprofiling)——通过检查其特征和结构,看看是否适合我们的业务。
之后,数据被分批提取。批处理流程可以在一个组里提取多组记录。在存储了很长时间的原始数据之后,通过这个过程提取数据。它并不会实时收集数据,而是按照计划执行,例如每周、双周、每月、季度和年度计划来提取数据。
Python是在这个过程中可以使用的工具之一。对于较小的项目来说,只用python就足够了。更大的项目可以使用任何支持数据提取的云服务,如GCP、Azure、AWS等。
数据调度(Scheduler)
调度器用来决定什么时候应该在其他平台上接收和处理数据。在上图中,可以使用ApacheAirflow[3]为这种情况创建一个时间表。它将安排何时从数据仓库提取数据,何时处理数据。注意,Airflow不是数据流解决方案。
数据仓库(Warehouse)
数据仓库是我们存储从数据市场收集到的数据的地方。在GCP中,可以使用BigQuery和CloudStorage进行存储。大多数情况下,BigQuery可以处理关系型数据,而CloudStorage可以处理非结构化数据,如图像、声音、视频和文本。BigQuery和CouldStorage之所以受到大多数公司的青睐,是因为它们提供了几乎从不间断的可用性,使我们不必担心和处理基础设施。我们需要考虑哪种BigQuery和CloudStorage计划适合我们的用例,从而尽可能优化总成本。不过要注意,并不是所有场景都适合云存储,尤其考虑到在银行零售业务中,某些政策可能会限制云存储的使用,比如不能将敏感数据分享给云服务商。因此,私有的现场数据库更适合这些策略。
数据处理(Processing)
当数据存储被存储到仓库中,就可以对其进行处理并转换为更合适的格式。BigQuery可以通过SQL查询来处理这个问题,但是使用ApacheSpark可能会更加灵活。我们可以用python编写ApacheSpark代码,对数据进行处理和转换,并存储到BigQuery中。Spark比pandas更适合处理大数据[4]。和pandas相比,Spark的缺点在于缺乏可视化的手段。
查询引擎(QueryEngine)
查询引擎是编写SQL代码和提取请求数据的引擎,是位于数据库或服务器之上的一段软件,对数据库或服务器中的数据执行查询操作,为用户或应用程序提供答案,其获取的数据可能会被终端用户使用。查询引擎工具有BigQuery、Presto、ApacheDrill、M3等。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。