写点什么

高技能人才或是未来 5-10 年大数据发展的最大瓶颈

  • 2019-10-26
  • 本文字数:2684 字

    阅读完需:约 9 分钟

高技能人才或是未来5-10年大数据发展的最大瓶颈

大数据无疑是当下最流行的热词和前沿技术之一。本质上,大数据具有三大类特征:快速、海量和复杂,大多数公司都在经历着这三大特征的各种形态组合。目前,这些特征中,还存在很多较难以解决的挑战,诸如处理数据流中的丢失、重复问题,数据质量参差不齐,数据存储成本高,大数据人才缺乏等。在本文中,我们将对“大数据”的问题进行拆分,是什么使大数据充满挑战,以及现在我们如何用最新的方法解决这些问题。


本文最初发布于 Towards Data Science 网站,经原作者授权由 InfoQ 中文站翻译并分享


在本文中,我们将对“大数据”的问题进行拆分,是什么使大数据充满挑战,以及现在我们如何解决这些问题。大数据一度成为流行语,但本质上它是指具备这三大类特征的数据:快速,海量和复杂。让我们仔细研究下这些特征,举一些例子,看看如何用最新的方法解决这些难题。


“大数据是描述海量的高速、复杂和多变数据的一个术语,这些数据需要结合先进的技能和技术来实现信息的捕获、存储、分发、管理和分析”(TechAmerica Foundation’s Federal Big Data Commission, 2012


高速的数据

高速的数据指什么?高速的数据指在短时间内产生的大量的数据。比如汽车工厂的传感器数据,温度监测器,飞行仪表等产生的数据。


高速数据通常被认为是实时的或是准实时的数据流。数据流本质上是在生成后就发给处理器的数据包(比如天线收到的电视信号或是通过固话传输的语音电话)。实时数据的定义值得深入讨论,但是它本质上可以归结为需要在毫秒内被更新的数据。处理数据流有很多挑战,包括在采集时不丢失数据、处理数据流中的重复记录、流数据与更大的历史数据集集成、以及进行实时分析。


传统的数据流服务比如 Rabbit MQ 和 Active MQ 只在单节点上运行因此收到了服务器能力的限制。Apache Kafka 引入了分布式流服务的概念,使得数据流可以分散到多个节点(服务器)上。这实现了高吞吐的流处理,每秒能达到数百万条。随着服务向云上的迁移,开发者不用再管理底层的硬件。亚马逊的 Kinesis 和谷歌的 Pub/Sub 将后方的服务器完全抽离,使开发者能够更专注于业务逻辑和数据。


ELK 是常用的在流式数据上作实时分析的技术栈。ELK 由多个工具组成,用 Log Stash 将多种数据源的数据传输进 Elastic Search(ES)。在 ES 中存储的数据可以轻松的通过特定的短语和关键词检索到。Kibana 是 ES 最上层的工具,它在数据流入时就能进行实时分析,用户可以通过它来查询数据、为数据创建度量。

海量数据

“大数据”的第二个


特征是数据量足够大。


典型的例如一个包含顶级投资银行 20 年股票交易历史的超大数据集,20 年间所有信用卡的交易记录,或是热门网站(如 buzz feed)的用户交互信息等。通常这些数据都会在 TB 甚至 PB 量级。



处理超大数据集通常会受到存储和处理数据的计算资源的限制。通常一块商用硬盘可以容纳 1TB 的数据量。有些数据集能有好多 PB(相当于上千块硬盘的容量)。这些数据需要在数据中心内跨多个服务器(或传统的 RAID 盘)存储。除此之外,处理这些数据也需要大量的物理内存和 CPU。


Hadoop(一个开源分布式大数据处理生态)的出现一定程度上降低了数据处理的成本。这套系统的核心是 Hive,一种能像数据库一样存储数据的类 SQL 处理系统。数据处理在商用硬件上进行,使用 Map-Reduce 算法(专门为分布式处理设计的算法)。这些服务器通常被存放在数据中心。但是,管理维护数据中心和 Hadoop 套件的成本非常高。


但最近,很多的存储和处理都转移到了云上,比如 Amazon Web Service (AWS) 和 Google Cloud Platform (GCP)这些主流玩家。AWS 和 GCP 都提供受管理的 map reduce 或 spark 服务(AWS Elastic Map Reduce 以及 GCP Cloud data proc)。他们也提供大规模可扩展的数据库服务(分别是 Google Big Query 和 AWS Redshift),能为 PB 级的数据集提供关系型数据库服务。这些解决方案最大的优点是用户不用管理底层的硬件,可以专注于更重要的任务,如存储/移动数据或者是写 SQL。这个生态中的典型玩家是 Snowflake,在 AWS 中提供即买即用的数据处理服务。

复杂数据

“大数据”的第三个特征是复杂。在解释什么造成了数据的复杂性前,我先讲下理想的数据集是什么样的。理想的数据集有预先定义的 schema,每种数据类型(string, number, date)都有定义好的主键,以及完善的数据字典。数据集中没有重复,所有的值都是精准的。


复杂数据的概念和理想数据完全相反。所有数据集都有一定的复杂性,但有一些天生更难处理。通常这些复杂数据集没有定义结构(没有行列结构),经常变化,数据质量很差或没有记录。



比如人工输入的医生的笔记、博客的文字、时刻更新的网页日志以及深嵌套的 XML 或 JSON 文件。


为复杂数据做快速标注时,大多数不好的数据应该在源头就进行识别。数据工程师需要构建足够强壮的系统来快速获取和过滤这些数据集,但是这些数据最终还是要在源头纠正。此外,如果可以,我们建议在数据产生的源头定好 SLA 来减少低质量的数据,使数据更好管理。


处理复杂数据集,让它们能遵从整洁的格式需要下很大的功夫。每种数据质量问题都需要区别处理,比如记录重复、主键缺失、字符/字符串的格式错误等。


有很多工具可以用来处理这种数据。通常数据科学家和工程师会用 Jupyter notebook 以及 Pandas 或 Spark 来处理、分析、可视化这些数据集。Jupyter 为开发者提供了交互式的环境使他们能在代码中逐行遍历数据集,从而节省很多时间。Databricks 也提供了非常好的数据处理和分析环境,包含了一个类似 Jupyter notebook 的 UI、独有的 Spark 特性、以及简单易用的节点管理能力。


还有很多第三方的工具,比如 Trifacta,能够自动进行一些数据清洗任务,通过提供 UI 和非常好的功能代替完全手写的数据清洗代码,来加速清洗和分析任务。Google Cloud 在 GCP 中提供了这个工具 cloud Data Prep。

小结

可以看出,这些特征中的任何一个挑战都很难解决。但是,大多数的公司都经历着这三种问题的各种形态组合。挑战变得更庞大了,这需要衡量不同的工具和方法来解决他们特定的问题。


向云服务的转移很大程度上降低了处理和管理大数据的壁垒,公司不再需要建设数据中心并且花大量的预算在专用软件上。但是招聘懂得如何使用正确的工具来处理大数据问题的人才仍然是个难题。


降低大数据使用门槛的下一步是利用机器学习技术来理解数据的结构以及监测数据发生的变化。由于高技能人才将成为处理大数据的瓶颈,未来 5-10 年间产生的下一代工具,很可能会关注这些特征。


希望这篇文章能为你提供关于大数据全面而简洁的概述!


原文链接:


https://towardsdatascience.com/what-exactly-is-big-data-in-2020-9acee48e8dd7


2019-10-26 08:006445

评论 1 条评论

发布
用户头像
Pandas不是Python的一个库吗?
2019-10-29 09:02
回复
没有更多了
发现更多内容

【React】从0到1搭建你的React18项目

海底烧烤店ai

前端 React Hooks 9月月更

软件测试 | 测试开发 | 文未有福利 | BAT 名企大厂做接口自动化如何高效使用 Requests ?

测吧(北京)科技有限公司

测试

从0到1开发微信小程序(3)—小程序框架配置

微信小程序专栏

图系列算法在转转推荐算法召回及粗排的实践

转转技术团队

深度学习 推荐系统 图算法 graph embedding

软件测试 | 测试开发 | 测试人生 | 入行3年,年薪36W+,从外包到知名互联网公司,疫情之下薪资不止翻倍~

测吧(北京)科技有限公司

测试

软件测试 | 测试开发 | 测试开发基础|一文搞定计算机网络(一)

测吧(北京)科技有限公司

测试

渡过“寒冬”,看云原生数据库如何助力企业降本增效与持续创新

亚马逊云科技 (Amazon Web Services)

数据库 云原生

Java知识点锦集1

喜羊羊

9月月更

软件测试 | 测试开发 | 接口测试项目实战与经典面试题解析,挑战 BAT 大厂必会!

测吧(北京)科技有限公司

测试

2022年区块链金融场景化应用专题分析

易观分析

区块链 金融

关于运维监控系统实践中的一些tips

穿过生命散发芬芳

监控系统 9月月更

基于开源IM即时通讯框架MobileIMSDK:RainbowChat-iOS端v5.0版已发布

JackJiang

Netty 即时通讯 im开发 开源im

内核实战教程第五期 _ SQL 执行引擎的设计与实现

OceanBase 数据库

数据结构与算法 之线性表

喜羊羊

9月月更

Java知识点锦集2

喜羊羊

9月月更

为什么Vue中的v-if和v-for不建议一起用

达摩

Vue

软件测试 | 测试开发 | 测试面试真题|工作2年,从小厂到大厂,薪资翻倍是怎样的体验?

测吧(北京)科技有限公司

测试

从0到一开发微信小程序(1)——申请账号并安装开发环境

微信小程序专栏

2022-09-14:以下go语言代码输出什么?A:0 0;B:0 1;C:1 1;D:1 0。 package main func main() { println(f(1)) } func

福大大架构师每日一题

golang 福大大 选择题

Elasticsearch聚合学习之三:范围限定

程序员欣宸

elasticsearch 9月月更

StarRocks 社区一周年:极速统一,感谢遇见!

StarRocks

数据库

软件测试 | 测试开发 | 测试人生 | 40+的年龄50W+的年薪,2线城市入职名企,他曾想放弃测试?

测吧(北京)科技有限公司

测试

【C语言深度剖析】深入理解const的用法(趣味小故事解析)

Albert Edison

指针 C语言 const 9月月更

关于数据仓库的特点及组成的概述

阿泽🧸

数据仓库 9月月更

Solo博客静态部署到码云gitee —— 全网最详细系列

海底烧烤店ai

部署 博客系统 博客搭建 9月月更

SpringCloud Gateway 服务网关的快速入门

Gateway SpringCould 9月月更

面试突击83:什么情况会导致@Transactional事务失效?

王磊

Java 面试题

从0到1开发微信小程序(2)——开发第一个小程序

微信小程序专栏

软件测试 | 测试开发 | 测试工程师如何突破职场瓶颈?

测吧(北京)科技有限公司

测试

跟着卷卷龙一起学Camera--AF

卷卷龙

ISP 9月月更

C++学习---cstdbool和cstddef源码学习分析

桑榆

c++ 源码阅读 9月月更

高技能人才或是未来5-10年大数据发展的最大瓶颈_AI&大模型_Gary Cheung_InfoQ精选文章