非关系型数据库(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),这些功能将非常有用。抱歉,这里说的有点奇怪。
Apache Hive:知道 SQL 吗?如果知道那你就很好上手 Hive 了。Hive 有助于使用 SQL 读取、写入和管理驻留在分布式存储中的大型数据集。
Apache Pig:Pig 是在大型分布式数据集上创建、查询、执行例程的平台。所使用的脚本语言叫做 Pig Latin(我绝对不是瞎说,相信我)。据说 Pig 很容易理解和学习。但是我很怀疑有多少是可以学习的?
Apache Sqoop:一个用于将数据从 Hadoop 转移到非 Hadoop 数据存储(如数据仓库和关系数据库)的工具。
Apache Storm:一个免费开源的实时分布式计算系统。它使得使用 Hadoop 进行批处理的同时可以更容易地处理非结构化数据。