Tag Archive: Hadoop

玩转大数据也许真的可以离开Hadoop?

之前在学习大数据相关的内容,技术坑很多,水很深。偶然间在一位博主的博客中看到了Tablesaw这款开源工具,号称「MAKING BIGDATA SAMLL AGAIN」,觉得很神奇,遂前去一探究竟。

Tablesaw简介
引用官网的一段介绍:

Tablesaw is a high-performance, in-memory data table in Java.
Tablesaw’s design is driven by two ideas: First, few people need distributed analytics. On a single server, Tablesaw lets you work interactively with a 2,000,000,000 row table. (I plan to raise that ceiling, btw.) Second, it should be super easy to use: To that end I happily steal ideas from everything from spreadsheets to specialized column stores like KDB.

我们来总结下,Tablesaw设计初衷有以下两条:

  1. 作者认为很少有人真的需要进行分布式计算分析,在单台服务器上「Tablesaw」能支持最多20亿条数据,似乎在大多数情况下都能满足用户的计算需求;
  2. 大数据工具应该简单易用,费大把劲去搭建大数据集群估计已经吓退一拨人。

从本质上而言,我们发现「Tablesaw」就是一款基于内存,使用纯java实现的big spreadsheet。嗯,我相信你一定使用过Excel。

Tablesaw主要功能
既然Tablesaw宣称自己简单好用,那到底支持哪些功能呢,笔者新建了一个Maven工程玩了一把,貌似有以下功能:

  • Import data from RDBMS and CSV files, local or remote (http, S3, etc.)
  • Add and remove columns
  • Sort
  • Filter
  • Group
  • Map and reduce operations
  • Descriptive stats (mean, min, max, median, etc.)
  • Plotting for exploratory data analysis and model checking
  • Store tables in a very-fast, compressed columnar storage format

在试用过程中有几点 事项说明 下:

  1. 在数据量不大的情况下,执行简单的查询操作速度很快,不像在Hive中做一个非常简单的查询都会转化成一个MapReduce作业在Hadoop集群上跑几十秒时间(当然你可以通过set hive.fetch.task.conversion=more ,使得简单的查询不会被转化成MapReduce作业);
  2. Tablesaw支持的功能还非常有限,对于复杂的组合查询会很吃力,甚至可能都做不到,Tablesaw作者在博客中强调未来会支持更多的列类型,支持更多的操作,同时把常用的机器学习算法的实现也引入进来,对于未来的设想我们拭目以待;
  3. 在借助Tablesaw做数据展示的时候,使用的是XCharts

Tablesaw适用场景
简单介绍了Tablesaw的主要功能以及未来的设想,其实我更关注的是如何与我们现有的应用场景进行结合,或者说Tablesaw在哪些场景下会比较适用,大致能想到的有以下两个领域:

  1. 作为缓存器,对于热点数据我们从持久化的关系型数据库读到内存之后,可以马上对外提供计算查询的API;
  2. 对于数据分析师,数据科学家等以实验论证形式展开工作的一类人,对他们来讲有一款简单易用的大数据工具绝对是福音。

大数据Hive之入门必备

在「聊聊大数据平台的典型应用场景」这篇文章中介绍了团队目前搭建大数据平台的实践,以及如何在实际生产环境中应用我们的大数据平台也就是寻找典型的应用场景。至于Hadoop生态系统中的Hive工具则是点到为止,并没有展开详细讨论,在这边文章中我们来入门Hive,了解Hive工具的作用,执行原理,数据类型以及数据模型。

引用官网的一段说明

The Apache Hive ™ data warehouse software facilitates reading, writing, and managing large datasets residing in distributed storage using SQL. Structure can be projected onto data already in storage. A command line tool and JDBC driver are provided to connect users to Hive.

Hive本质上是一个数据仓库,但不存储数据(只存储元数据),用户可以借助Hive使用sql对存储在分布式文件系统中的大数据集进行读写。

(更多…)

聊聊大数据平台的典型应用场景

说起大数据总是感觉听得多,实践的少,所以谈不上有什么认识,很是遗憾。然前一段时间刚好接手团队内部「数据服务线」的工作,筹划搭建大数据平台,埋藏在心底的那股劲儿又被唤起,提枪上马开干。

整个大数据集群大概有十几台虚拟机,安装Hadoop生态系统的开源工具,具体工具如下:

(更多…)