00:00
好,大家跟我思考一个问题,思考一个什么问题呢?啊,基础麒麟,麒麟的这个基础使用,咱们基本上已经从头到尾给大家演示过一遍了啊,大家思跟我思考一个问题啊,那你说这个Q吧,这个Q吧大是不是前面讲了我一个Q吧是不是对应于一条我们业务系统当中一条业务线呀,对吧,一个Q吧一个业务线好,那cub是不是咱们只需要定义一次就完事了呀,对吧,那完事剩下要我们要做的应该就是啥呀,是不是这个数据一天一天的算就行了呀,一天一天的算啊,一天天的算好那现在问题来了啊,那你说我们每天都要去算这个数据,那每天咱都得怎么做?是不是都得打开这个页面,然后找找到这个Q吧,点击action点击Q的,然后再选日期,那你刚才跑的16号的了,这回就得跑17号了啊,刚才跑15号了,这回就跑16号,然后后天再跑这个在明天再跑,再跑17号,是不是得得这样去做呀。那你说这个操作是不是就咱们人为去做呀,那点是不是只能安排人去点对不对,那这个是不是感觉有点不太合适啊,对吧?啊这个麒麟它能不能像我们前面大家做的那个数据仓库当中那些任务一样,我也我把它写在一个shell脚本当中。
01:14
啊,然后呢,把这个脚本我交给那种调度工具去调度。哎,那是不是就不用咱们每天人为的来这个地方去点一下了呀,对吧?啊能不能实现这样的功能呢。可不可以呢?诶,显然是可以的啊,显然是可以的,他不可能让你每天都过来点一下啊,这个太麻烦了啊,那肯定是可以封装到脚本当中的啊,那这个怎么去进行这个呃,封装到脚本呢,怎么去封装呢?啊,那或者说咱们应该用什么样的命令去提交这个任务呢?那这时候呢,就需要用到麒麟。他给我们提供的这个接口了啊,有一个接口叫做rest CPI对吧?啊,那现在我们要用到的就是这个rest CPI啊,咱们就要用它了啊,使用借助于这个rest CPI呢,我们就能实现啊,刚才咱们提到的那个那个效果什么效果呀,把构建的任务给它封装到一个shell脚本当中,然后呢,把这个任务呢,交给阿兹卡顿尼德度啊,咱就可以实现这个功能了啊,那所以说接下来呢,我们得先来学习一下麒麟给我们提供的rest API啊,我们得看看这个所谓的rest API到底是个什么东西,对吧?来咱们看一看啊。
02:22
我们打开这个阿帕奇麒麟啊,这个官网啊,来官网,那他在去哪去找他那个rice API的教程呢?啊,再点开他这个文档,然后你就往下拉,左边是他那个目录对吧,你就一直拉啦啦啦。拉到最底下这儿呢,有一个restful API对不对,那我们点开点。那点完之后呢,咱们就往下拉啊,往下拉你看这个位置也是它的一个目录re API,那只不过这块呢,并没有翻译啊,这块都是这个英文的啊呃,英文也都很简单,咱们也应该也都能看懂,咱们大致看一下啊,它这里边呢,先对它这个所有的rest API呢,是不是都做了一个分类呀,对吧,你看啊。
03:03
这是一个类别,这是一个类别或者是分组,对不对,这是一个组,那都都分别是什么呢?第一个authentication,这干啥呀。这个是啥意思,应该知道吧,认证对吧?啊,什么叫认证,你看啊,我们之前在使用麒麟的时候,咱们是通过页面使用对吧,你在页面上呃,使用之前是不是也也要认证啊,要登录对不对,那你用这个re c的方式去行麒麟同样需要认证啊好,那现在继续往下走,那这呢是query query就是跟查询相关的,这是跟查询相关的API啊,那下边呢,是跟。Cube相关的一篇,你看啊,跟cube相关有多少啊,有什么?第一个create cube update cube list cube get cube对不对,Get什么cube等等等等,还有一个。Q的Q吧,Q的是不是就是构建呀,是不是就提交任务对不对,你看啊,还有下边还有其他的呢,比如说model或是跟model相关的啊,这个什么创建model,更新model,删除克隆model等等等等啊,那你可以可以发现啊,我们刚刚在这个麒麟的web页面上所做的操作,其实都可以通过谁做呀。
04:17
是不是都可以通过他给我们提供的这个API去做呀,对不对啊,都可以,那包括谁呀,包括我们在页面上点击这个action,点击这个build,你都可以通过rest API去做啊,那说这个API还是很强大的,很强大啊好,那接下来我们来学习一下,到底什么是rest CPI到底怎么用啊,对吧?说了半天来咱们来来学一下啊,我们先举一个小例子吧,咱们先不管Q吧,咱们先查一下吧,我们现在是不是也可以通过re CPI去查询数据啊,对吧,这就有,有的话我们先学一下啊,比如说我点这个query。点完之后呢,我们就来到了这个query的RACPI的这个使用介绍这一小部分啊,那其实很简单,你看这就是他给我们提供的那个查询所需要使用的rest CPI接口啊,你看一下啊,那这块一共有俩东西,一个是。
05:07
Post这要求咱们这是什么意思啊,这个post是不是要求我们给他发送的是post请求啊,对不对,那咱们最常用的两个请求类型,一个是get请求,一个是post请求,那咱们最在在这呢,是不是要求我们给他发送post请求啊,对不对,那完了之后呢。这个东西是啥?战斗力是啥?这是啥呀?这就是您发送请求的地址啊,对不对,那当然这个地址前边呢,我们需要加上啊,这个rest服务的主机名和端口号啊,那咱们的麒麟的主机名端口号是多少啊。是不是海度1027070,然后呢,你在后边再加上啥呀,再加上我这所需要使用的这个地址kin API query,那也是你需要在这个位置后边再补上一个,这是不是kin,然后呢,Query API,诶是不是就这样啊,很简单啊,其实很简单啊,那这就是我们要请求的这个地址。
06:04
那要写地址啊,那完之后具体怎么发送这个请求呢?那我们总不能使用浏览器去给他发送这个POS请求,对吧?那怎么发请求。来下边。看这啊,咱这儿呢,是不是有一个c URL example啊,对吧,大家还记得C这个东西吧,我们在学阿斯卡班的时候,是不是有过一部激活ex的步骤,对吧?当时是不是用的就是这个CL啊对不对,那当时说了C呢,我们可以用它去发送各种各样的请求啊,然后呢,传携带各种各样的参数都可以,那那在这呢,我们使用的仍然是CURL这个命令,其实当时没给大家说啊,当时我们使用啊学习卡班咱们那个CL那个激活命令,其实访问的也是啥呀。是不是访问的也是阿斯卡班提供的red CPI接口啊,对不对,你看他给你想应的是啥,想应的是不是就是杰森啊,是这样的,其实跟那个是一样的东西啊,跟是一样的东西啊好,那接下来咱们看看这会它这个到底怎么用啊,我先把它粘出来吧,粘来之后呢,给大家说一下,看看这个东西怎么用啊c example就一个一个一个小例子嘛,咱们拿过来CTRL为啊这个东西呢,就是说你不懂也没事,但是呢,咱得知道怎么做呀,咱得知道怎么去改,对不对啊,你只要会改就行啊,只要会改就行,那咱们改看啊,首先简单说一下这里边的参数啊,CF-X-X后边呢,Post,这很显然是在指明什么,指明你的请求方式对吧?因为我的请求方式不只有posts,我可能会有其他的类型啊,指明请求方式为posts请求,那这儿有一个杠H,杠H是什么呀?是我的请求头啊,也相当于hier,那hier当中呢有啥。
07:45
呃,这个authorization对吧,那这个当然指的就是啥,是不是就是咱们那个认证那个步骤啊,对吧,那认证的这个地方呢,它后边有一个什么basic,但是后边有一大串叉,对吧,这是在干啥啊。这干啥,这其实就要求我们在这儿进行这个用户的认证啊,怎么认证啊,当然了,他要求我们这样去做啊,我们需要将咱们麒麟的用户名,然后呢,拼上一个英文的冒号,再拼上一个密码,这样一来你是不是会得到一个字符串啊,对吧?但是字符串直接放在这儿的话,是不是有点这个危险,有点丢失这个泄露密码的风险,对吧?那你可以怎么做呀?哎,它需要我们对这个用字符串进行加密,呃,加密用什么加密算法呀。
08:29
BASE64。啊,贝斯64就是一种呃,非常简单的一种常用的一个加密算法,就是它能够将你的这个呃字符串给你转成一个随机字符串,你把那个随字符串呢,给它放在这个位置就可以了啊好,那现在呢,我们去把这个认证这个事呢,先搞一下啊,那BASE64加密这个你随便百度一下就可以啊,你就base base64。啊,走。呃,搜一下这个加密啊,还是网的问题啊,好,那你就找到这个就行,比如说咱们这儿的用这个战场工具这个吧,啊,因为不同网站,它那解码可能有问题啊,这个好像有点问题啊,就是它不是解码,就是那个编码集可能不太一样,就是它那个加密之后那个结果不对啊,咱们用这个战场工具这个没问题啊,点它。
09:15
啊,那找到这之后呢,我们把自己的用户名密码给拿过来啊,咱们是大写的啥,大写的ad min,然后冒号大写的a kin,这时不是就可以把这个东西拼成字符串了呀,那这时我们就可以加密了,点击BASE64加密走。好,那这是不是得到了一个随机字符串,我们要的就是它把它复制过来,复制出来之后呢,放到我们这一个大串,这一大串叉的位置啊,CTRL位放在这儿,好,那现在相当于已经完成了登录了啊,然后后边还有一个杠,是不是还有一个hier啊对吧?这个开ER也是一个KB键,对,那这个相当于指明啊content type是不是就咱们内容的类型啊,内容类型什么类什么什什么格式啊,是不是杰森格式啊,对不对,那就杰森。啊,那接下来往下走啊,再往下再往下呢,我们后边有一个杠D,杠D指的就是你这次请求携带的这个数据啊,那杠D那后边还有啥,后边是不是一个杰森字符串对不对,因为你前面是不是声明了你是杰森格式了,对吧?那你这儿呢,就有一个杰森的字符串,相当于啊好,那就来看看这杰森当中我们都有什么样的字段。
10:14
首先第一个是不是circle,那circle后边是不是就是你要查询的那条circle啊,那后边呢,有一个project project就是你要查询的那个project啊,那咱们这里改一下啊,那首先我们先改谁先改project啊,那project写谁。写谁是不是就写咱们这儿这个cube,你要查询的cube所位于的那个product呀,对不对,那咱们这当然就是集贸了呗,啊我们这现在只有这一个,那就写g ma。啊,计划完了,那circle呢,Circle就还用之前咱们那头circle就可以啊,这个circle我们就找一下这个insight,这会有历史啊,有有那个query history,那咱们随便找一个啊,比如就它吧,来复制一下。好,那这条circle拿过来给它替换。
11:00
哎,CTRLV能看懂吧,那替换就行了,然后最后最后呢,这个地方是啥呀?这个地方是不是就是我们要请求的地址啊,你看请求地址,咱们这应该把主机名喊一下吧,还杜吧是OB102啊海度1027070后边是不是就是你那个ricecpi地址K。API快能看懂吧,能看懂啊好,那这个我们CTRLC把它粘过来啊,粘过来之后呢,我们就给它放到,比如放到哪儿,放到诶103,你这个只要能访问谁就行,只要能访问到咱们那个海度102这台节点,你是不是在哪执行这个命令都可以啊,啊比如我就在103执行啊,那现在我直接回车走你。啊,你看啊,这个是不是有有有响应啊,一般这个rise接口,它响应的这个数据的都是啥呀,都是杰森啊都是杰森,那现在咱复制一下啊,把这个拿过来啊,咱们给它做一个格式化吧,啊做一个格式化。来点开这个,它耳朵打点一个这个接S美化工具。C way,好,那右边呢,就是我们格式化好的这个阶段啊,这里边呢,有一些各种各样的信息,比如说column matters,这是列的信息啊列的信息那还有啥呢?还有这个results,咱们就看result就行了,你看。
12:11
这是不是就是咱们这条circle的查询结果,我们查询的刚才应该是不同的地区的那个订单金额吧,啊,这是不是统计出来了,其实就是这样的一个过程嘛,而且你会发现这个响应速度是很快呀,我这是不是刚给他把一个清理求发过去,他立即就给我响应结果了呀,啊,因为它是基基预计算的嘛,是预计算啊,这就是rice API的这个这个使用方法啊,就是这样啊,很简单技术啊好,那接下来呢,我把这个呃视频先录一下啊。
我来说两句