机器学习(Machine Learning):机器学习是基于喂入的数据去设计能够学习、调整和提升的系统的一种方法。使用设定的预测和统计算法,它们持续地逼近「正确的」行为和想法,随着更多的数据被输入到系统,它们能够进一步提升。 MapReduce:MapReduce 可能有点难以理解,我试着解释一下吧。MapReduceMapReduce 是一个编程模型,最好的理解就是要注意到 Map 和 Reduce 是两个不同的过程。在 MapReduce 中,程序模型首先将大数据集分割成一些小块(这些小块拿技术术语来讲叫做「元组」,但是我描述的时候会尽量避免晦涩的技术术语),然后这些小块会被分发给不同位置上的不同计算机(也就是说之前描述过的集群),这在 Map 过程是必须的。然后模型会收集每个计算结果,并且将它们「reduce」成一个部分。MapReduce 的数据处理模型和 Hadoop 分布式文件系统是分不开的。 非关系型数据库(NoSQL):这个词听起来几乎就是「SQL,开奖,结构化查询语言」的反义词,SQL 是传统的关系型数据管理系统(RDBMS)必需的,但是 NOSQL 实际上指的是「不止 SQL」。NoSQL 实际上指的是那些被设计来处理没有结构(或者没有「schema」,纲要)的大量数据的数据库管理系统。NoSQL 适合大数据系统,因为大规模的非结构化数据库需要 NoSQL 的这种灵活性和分布式优先的特点。 R 语言:这还有人能给一个编程语言起一个更加糟糕的名字吗?R 语言就是这样的语言。不过,R 语言是一个在统计工作中工作得很好的语言。如果你不知道 R 语言,别说你是数据科学家。因为 R 语言是数据科学中最流行的编程语言之一。 Spark(Apache Spark):Apache Spark 是一个快速的内存数据处理引擎,它能够有效地执行那些需要迭代访问数据库的流处理、机器学习以及 SQL 负载。Spark 通常会比我们前面讨论过的 MapReduce 快好多。 流处理(Stream processing):流处理被设计来用于持续地进行流数据的处理。与流分析技术(指的是能够持续地计算数值和统计分析的能力)结合起来,流处理方法特别能够针对大规模数据的实时处理。 结构化 vs 非结构化数据(Structured v Unstructured Data):这是大数据中的对比之一。结构化数据基本上是那些能够被放在关系型数据库中的任何数据,以这种方式组织的数据可以与其他数据通过表格来关联。非结构化数据是指任何不能够被放在关系型数据库中的数据,例如邮件信息、社交媒体上的状态,以及人类语音等等。 下篇(50 个术语) 这篇文章是上篇文章的延续,由于上篇反响热烈,我决定多介绍 50 个相关术语。下面来对上篇文章涵盖的术语做个简短的回顾:算法,分析,描述性分析,预处理分析,预测分析,批处理,Cassandra(一个大规模分布式数据存储系统),云计算,集群计算,暗数据,数据湖,数据挖掘,数据科学家,分布式文件系统,ETL,Hadoop(一个开发和运行处理大规模数据的软件平台),内存计算,物联网,开奖,机器学习,Mapreduce(hadoop 的核心组件之一),NoSQL(非关系型的数据库),R,Spark(计算引擎),流处理,结构化 vs 非结构化数据。 我们接下来继续了解另外 50 个大数据术语。 Apache:软件基金会(ASF)提供了许多大数据的开源项目,目前有 350 多个。解释完这些项目需要耗费大量时间,所以我只挑选解释了一些流行术语。 Apache Kafka:命名于捷克作家卡夫卡,用于构建实时数据管道和流媒体应用。它如此流行的原因在于能够以容错的方式存储、管理和处理数据流,据说还非常「快速」。鉴于社交网络环境大量涉及数据流的处理,卡夫卡目前非常受欢迎。 Apache Mahout:Mahout 提供了一个用于机器学习和数据挖掘的预制算法库,也可用作创建更多算法的环境。换句话说,机器学习极客的最佳环境。 Apache Oozie:在任何编程环境中,你都需要一些工作流系统通过预定义的方式和定义的依赖关系,安排和运行工作。Oozie 为 pig、MapReduce 以及 Hive 等语言编写的大数据工作所提供正是这个。 Apache Drill, Apache Impala, Apache Spark SQL:这三个开源项目都提供快速和交互式的 SQL,如与 Apache Hadoop 数据的交互。如果你已经知道 SQL 并处理以大数据格式存储的数据(即 HBase 或 HDFS),这些功能将非常有用。抱歉,这里说的有点奇怪。 (责任编辑:本港台直播) |