使用@Named注解绑定多个实现(java,scala)
版权申明:转载请注明出处。 文章来源:玄涧思库 1.背景 最近项目中使用了guice作为依赖注入的框架。碰到一个如下的场景: 定义了一个从不同渠道输入数据的接口AbstractImporter,设计之初的目标是抽象从hdfs,kafka,DBMS等数据源输入数据处理。那么对应的实现就会有HdfsImporter,KafkaImporter,即一个接…
scala中的特质
版权申明:转载请注明出处。 文章来源:玄涧思库 总体来说,scala中的特质类似于Java中的接口,但是有别于接口的是特质中既可以有实现方法也可以有抽象方法。 1.特质的定义 使用关键字trait来定义一个特质,如: trait Log{ def info(msg:String) def debug(msg:String){print(msg)} …
scala中的继承
版权申明:转载请注明出处。 文章来源:玄涧思库 类似于java中的继承,在scala中同样有继承一说,而且在很多方面和java中的继承非常的类似,下面详细说明。 1.关键字及重写 scala中表示继承的关键字为extends,如下代码,Student 继承自People: class Student extends People{ val name…
kylin从入门到实战:具体案例
版权申明:转载请注明出处。 文章来源:玄涧思库 前面两篇文章已经介绍了kylin的相关概念以及cube的一些原理,这篇文章将从一个实际的案例入手,介绍如何在kylin平台上创建一个多维分析项目。 1.创建project 进入kylin操作界面,如果没有project可以创建,kylin里面可以创建多个project,有效的把各种业务数据分析隔离开来…
kylin入门到实战:cube详述
版权申明:转载请注明出处。 文章来源:玄涧思库 1.什么是cube? cube是所有dimession的组合,每一种dimession的组合称之为cuboid。某一有n个dimession的cube会有2^n^个cuboid,如图: 对应一张hive表,有time,item,location,supplier这四个维度,则0-D cuboid时对应…
kylin入门到实战:入门
版权申明:转载请注明出处。 文章来源:玄涧思库 1.概述 kylin是一款开源的分布式数据分析工具,基于hadoop之上的sql查询接口,能支持超大规模的数据分析。响应时间在亚秒级别,其核心是预计算,计算结果存放在hbase中。 2.特性 可扩展超快OLAP引擎: Kylin是为减少在Hadoop上百亿规模数据查询延迟而设计 Hadoop ANSI…
6.scala中的包
版权申明:转载请注明出处。 文章来源:玄涧思库 1.基础特性 scala中的包和java中的包类似,都是用来在大型工程中给类限定一个命名空间。有如下特性: (1)包可以像内部类那样嵌套 (2)包路径不是绝对路径。 (3)包声明链net.bigdataer.blog并不会自动将中间包net和bigdataer变为可见。 (4)位于文件顶部不带花括号的…
5.scala中的对象
版权申明:转载请注明出处。 文章来源:玄涧思库 1.单例对象 scala中没有静态类或者静态方法,都是通过object实现的,它表示某个类的单例对象。如object People是class People的单例对象。 2.伴生对象 java中有些类可能会既有静态方法又有实例方法,在scala中静态方法存在于对象中,也就意味中scala中需要有这么一…
4.scala中的类
版权申明:转载请注明出处。 文章来源:玄涧思库 1.针对不同字段生成的方法 字段 生成的方法 备注 var/val name 公有的name和name_=方法(仅var) 可以被公开访问 @BeanProperty val/var name 公有的name,getName(),name_(仅var),setName(仅var) 与JavaBean互…
使用logrotate做nginx日志分割
版权申明:转载请注明出处。 文章来源:玄涧思库 背景 nginx是一款非常优秀的网络代理工具,但是其日志管理有点缺憾:nginx的access_log会无限的增长。我们希望的是它能按照日期去做日志分割。一般有两种方法,自己写脚本实现,一种是使用现成的logrotate工具。本文讲解第二种方法。 过程 使用logrotate做nginx日志轮询 lo…