kylin的具体操作流程
第一步在页面顶部选择 左上角加号创建project
第二步在model中的 datasource 下选择我们需要的表,一共有三种方式,第一种是通过逗号分隔手动书写我们需要的表,第二种是根据kylin自带的表展示工具,可以显示表,我们手动点击就可以选择,第三个是对接kafka的,不中意的表还可以删除
注意,这里的并不是表数据,而是表的元数据
第三步第一步在左边的models 点击 new 选择new model (前面是五角星,暗示只支持星型模型)
第二步model info 开始设置你的模型名字
进入模型设置
第三步data model 可以在我们刚刚load 的表之中做选择,首先默认的是事实表的选择,然后的是 lookup table 是维度表的选择,lookup table 设置的时候,要选择与 事实表的关联字段,而不像事实表那样可以直接设置。此时关联关系成立
第四步dimensions 选择需要用来参与计算的维度,也就是group by 的字段
第五步measures只能在事实表中,不能再维度表中,这个模块下有两个分栏,分别是partition 与 ...
在linux上安装一个5.xx的mysql
安装前确保你没有安装过mysql
1[root@localhost /]# rpm -qa | grep mysql
安装过的话:
1[root@localhost /]# rpm -e --nodeps mysql-libs-5.1.73-5.el6_6.x86_64
然后再次执行查看是否删除:
1[root@localhost /]# rpm -qa | grep mysql
针对第一次开始安装mysql的服务器,这里不建议删除所有关于mysql的文件夹,但是如果你执意的话:
查询所有mysql的文件夹:
12[root@localhost /]# whereis mysql[root@localhost /]# find / -name *mysql*
然后删除你找到的所有目录。
1[root@localhost /]# rm -rm 你的目录
检查你的mysql用户,用户组是否存在
12[root@localhost /]# cat /etc/group | grep mysql[root@localhost /]# cat /etc/passwd |grep m ...
重温spring项目第十天
springboot整合ssm创建项目
推荐maven仓库:
123456<mirror> <id>aliyunmaven</id> <mirrorOf>*</mirrorOf> <name>阿里云公共仓库</name> <url>https://maven.aliyun.com/repository/public</url></mirror>
简单介绍pom自带的 :
123456789101112<!--springmvc tomcat--><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId></dependency><!--mybatis--><dependency> ...
重温spring项目第九天
高科技上网的小伙伴应该很容易就可以搭建springboot项目,就像我,但是国内的没有科学上网的小伙伴如何搭建项目呢?
https://spring.io/projects/spring-boot 这个是springboot的官网,这个里面会有很多你想知道的东西,但是自己读懂不是很容易
创建项目利用官方提供的初始化在官网页面你会找到这个页面,如下图
点进去后发现:
没错,这就是一个自带的初始化工具,最终会生成一个压缩包,下载了之后跟你用idea生成的初始化项目一样
利用工具初始化
下面的是让你选择初始化的依赖,这个可以什么都不选
https://start.aliyun.com/ 阿里云真挺好,用了这个创建项目,就是看你国内网ok不ok了,但是如果你用default,那你一定是个科学上网者
手动创建项目 如果你对项目足够了解的话,你就知道了,springboot项目其实可以自己手动创建
我们首先需要了解springboot项目最重要的两个配置文件,和一个自带启动类:
不论是自动创建还是手动创建,都是要有这些配置文件的,你迟 ...
数仓分层的理解
如果不用数据仓库的话,我们的数据也总还是要用来分析用户行为的吧?别跟我说你看着日益见长的数据就没有别的想法,但是!如果你的数据库是业务数据库,那么你有可能会遇到结构复杂、数据脏乱、难以理解透彻各表字段、缺少历史数据、大规模查询慢
我们来具体说一下问题
结构复杂业务数据库通常是根据业务操作的需要进行设计,所以为了避免数据冗余,表与表之间的关系错综复杂,所以在分析业务的时候,需要的业务表与维度表应该需要关联多个表才能查询得到
数据脏乱因为业务数据库会接受大量用户的输入,如果业务系统没有做好足够的数据校验,就会产生一些错误数据,比如不合法的身份证号,或者不应存在的Null值,空字符串等。
理解困难业务数据库中存在大量语义不明的操作代码,比如各种状态的代码,地理位置的代码等等,在不同业务中的同一名词可能还有不同的叫法。
这些情况都是为了方便业务操作和开发而出现的,但却给我们分析数据造成了很大负担。各种操作代码必须要查阅文档,如果操作代码较多,还需要了解储存它的表。来自不同业务数据源的同义异名的数据更是需要翻阅多份文档。
缺少历史出于节约空间的考虑,业务数据库通常不会记录状态流变历史,这就使 ...
重温spring项目第八天
视图解析:返回字符串:
controller 方法返回字符串也称为逻辑视图名,通过视图解析器解析为物理视图地址。
物理视图地址 = 视图解析器前缀 + 逻辑视图名 + 视图解析器后缀
12345678<!--视图解析器--><bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <!--前缀--> <property name="prefix" value="/WEB-INF/pages/"/> <!--后缀--> <property name="suffix" value=".jsp"/> <property name="contentType" value="text/html;cha ...
重温spring项目第七天
@RequestMapping
value:用于指定请求的 URL。它和 path属性的作用是一样的。如果只有value一个属性可以省略不写
path:用于指定请求的 URL,它和value的属性作用一样,但是不能省略
method:用于指定请求的方式
params:用于指定限制请求参数的条件
hereders:用于指定限制请求消息头的条件
requestmappoing参数
controller:
1234567891011@Controller@RequestMapping(path = "/user")public class UserController { @RequestMapping(value = "/select/phone",method = RequestMethod.GET,params = {"phone") public String selectByPhone(String phone){ //... System.ou ...
重温spring项目第六天
分页导入pom
123456<!-- https://mvnrepository.com/artifact/com.github.pagehelper/pagehelper --><dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>5.1.10</version></dependency>
mybatis-config.xml
12345678<plugins> <!-- com.github.pagehelper为PageHelper类所在包名 --> <plugin interceptor="com.github.pagehelper.PageInterceptor"> <!-- 选择mysql数据库的分页方式 --> ...
重温spring项目第五天
通用mapper只支持单表操作,但是极大的提高了开发效率
通用mapper体验依赖包12345678910111213141516171819202122232425262728293031323334353637383940414243<!-- https://mvnrepository.com/artifact/tk.mybatis/mapper --><dependency> <groupId>tk.mybatis</groupId> <artifactId>mapper</artifactId> <version>4.1.5</version></dependency><!-- https://mvnrepository.com/artifact/org.mybatis/mybatis --><dependency> <groupId>org.mybatis</groupId> <ar ...
重温spring项目第四天
多对一就是指,一个实体类中还包含另一个实体类,需要通过这个实体类的某个字段作为另一个查询语句的参数,查询出另一个实体类,具体到 查询语句上就是,一个查询语句需要指定resultMap,resuleMap内部需要指定一个id标签,其余都是result属性,也可以指定association属性,用于多对一,需要添加属性,会多出一个select属性并指定查询语句的id,就可以实现嵌套查询,多对多同样如此,这就是xml的最高应用方式了
特殊符号问题假如你在 XML 文档中放置了一个类似 < > 字符,那么这个文档会产生一个错误,这是因为解析器会把它解释为新元素的开始。因此你不能这样写:AND birthday < #{birthday}
AND birthday < #{birthday}
为了避免此类错误,需要把字符 < 替换为实体引用,就像这样:AND birthday \< #{birthday} (去掉空格)
< <小于
> >大于
& &和号
& ...