作者: 康凯森

8月11日,由 Kyligence 主办、美团点评协办的 Apache Kylin Meetup@北京,在美团公司总部圆满落幕。本文整理自当天美团大数据工程师、Apache Kylin Committer康凯森的演讲实录,全文共6600字,阅读时间大约15分钟。或点击视频,观看Meetup现场实录。

本次分享的内容主要分为3部分,首先我会介绍下Kylin On HBase的问题,也就是我们为什么要为Kylin实现一个新的存储引擎,其次我会介绍下我们Kylin新存储引擎探索的过程,这部分会解释我们为什么选择了Druid作为Kylin的存储引擎,最后我会介绍下Kylin On Druid的整体架构,核心原理和Kylin On Druid的成果。 下面的分享中Kylin On Druid有时会简称为KOD。

一、Kylin 在美团点评的服务现状


关于在VCS中SVN和Git之间的迁移(Clone)这个部分网上已经有大批的文章介绍,而且都非常不错,能够满足我们的常见的需求,这里介绍的是我自己整理的一些技巧和使用中出现的一些问题和疑问。

阅读本篇文章,请先有一些Git和SVN的使用经验(又是经验,经验到底是什么?我都不知道)。

一、基础迁移:分支和tags同步

今天的实验对象是,把 http://code.google.com/p/jdbcdslog-exp/ 这个使用SVN管理的project迁移到 Git上面,Git托管网站选择github。SVN迁移到Git,当然要清楚git svn 命令了。

首先请在github上面创建一个repository,这个简单,就不说了,然后就是使用强大的git了。

$ git svn init https://jdbcdslog-exp.googlecode.com/svn/ -s   
$ git svn fetch  

1 show processlist

SHOW PROCESSLIST显示哪些线程正在运行。您也可以使用mysqladmin processlist语句得到此信息。如果您有SUPER权限,您可以看到所有线程。否则,您只能看到您自己的线程(也就是,与您正在使用的MySQL账户相关的线程)。如果有线程在update或者insert 某个表,此时进程的status为updating 或者 sending data。

如果您得到“too many connections”错误信息,并且想要了解正在发生的情况,本语句是非常有用的。MySQL保留一个额外的连接,让拥有SUPER权限的账户使用,以确保管理员能够随时连接和检查系统(假设您没有把此权限给予所有的用户)。


Elasticsearch(简称ES)是一个基于Apache Lucene(TM)的开源搜索引擎,无论在开源还是专有领域,Lucene可以被认为是迄今为止最先进、性能最好的、功能最全的搜索引擎库。

一、Elasticsearch简介

1.1 Elasticsearch是什么

Elasticsearch是一个基于Apache Lucene(TM)的开源搜索引擎,无论在开源还是专有领域,Lucene可以被认为是迄今为止最先进、性能最好的、功能最全的搜索引擎库。

但是,Lucene只是一个库。想要发挥其强大的作用,你需使用Java并要将其集成到你的应用中。Lucene非常复杂,你需要深入的了解检索相关知识来理解它是如何工作的。

Elasticsearch也是使用Java编写并使用Lucene来建立索引并实现搜索功能,但是它的目的是通过简单连贯的RESTful API让全文搜索变得简单并隐藏Lucene的复杂性。

曾宇先生,腾讯公司副总裁。 2002年加入腾讯,曾负责腾讯研发线管理,后续担任互动娱乐事业群研发部总经理,负责游戏、互娱相关的技术研发及管理工作,2012年升任公司VP,16年起主要负责移动互联网事业群技术管理工作,继续参与公司级技术管理工作。


技术人员的核心素养

腾讯的职业发展通道大概有6级,1级是初入者,2级是有经验者,3级是骨干,4级是专家,5级和6级是权威和资深权威。我认为1、2级主要是学习、执行、改进的循环,在这个过程中你的经验不断增长;3级可以对交付负责,交付过程中持续思考和总结,跳出自己做的事情,宏观看待它们在整个战略中的位置,就可以走到4级。以前Tony(编者注:腾讯主要创始人张志东,曾任职公司CTO)对4级的要求就是什么事找这个人,他都能解决,自己解决不了就会主动去找其他资源来解决。我对技术通道4级的定义就是能在组织里起技术掌控的作用。


他们将其称作 TrufflePig,它是专门的播放列表生成工具。输入诸如“伴舞适合程度”、年代范围或者情感的参数,Truffle Pig 就会呈现与你的“Lovesick 90s Party Starters”歌单相符的推荐歌曲。

Truffle Pig 只是 Spotify1 亿美元收购回来的 The Echo Nest 秘密工作室的新音乐发明之一。该团队在 Spotify 纽约总部给我接受了并入 The Echo Nest 的 Spotify 打算如何做推荐服务,如何利用正版音乐整合其它的应用,如何通过融合人工 DJ 与算法来呈现最好的歌曲。

一. IntelliJ IDEA安装及配置

1.1 IntelliJ IDEA下载及安装

  首先在 CHOOSE YOUR EDITION 这里选择Community版本,这个版本是免费提供的,对我们的Spark使用来说,用这个版本已经足够了。如下图所示:


  直接点击黑色的 DOWNLOAD 按钮会默认开始下载Windows版本的IntelliJ IDEA,如果需要其他平台的版本,可以点击旁边的 .EXE ,然后在打开的下拉菜单中,选择相应平台即可。

由于Spark是用Scala来写的,所以Spark对Scala肯定是原生态支持的,因此这里以Scala为主来介绍Spark环境的搭建,主要包括四个步骤,分别是:JDK的安装,Scala的安装,Spark的安装,Hadoop的下载和配置。为了突出”From Scratch”的特点(都是标题没选好的缘故),所以下面的步骤稍显有些啰嗦,老司机大可不必阅读,直接跳过就好。