欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Kylin 操作方式(web UI ,JDBC,shell脚本,Zeppelin)

程序员文章站 2022-04-11 08:02:21
...

Web UI

查看属性

Kylin 操作方式(web UI ,JDBC,shell脚本,Zeppelin)

查询

注意:查询语句中事实表必须位于join的左边

Kylin 操作方式(web UI ,JDBC,shell脚本,Zeppelin)
Kylin 操作方式(web UI ,JDBC,shell脚本,Zeppelin)

Zeppelin

打开web端界面hadoop:8080,点击右上角的interpreter

Kylin 操作方式(web UI ,JDBC,shell脚本,Zeppelin)
Kylin 操作方式(web UI ,JDBC,shell脚本,Zeppelin)

 然后再创建note

Kylin 操作方式(web UI ,JDBC,shell脚本,Zeppelin)

 之后就可以输入查询语句进行查询操作

Kylin 操作方式(web UI ,JDBC,shell脚本,Zeppelin)

JDBC

依赖

<dependencies>
        <dependency>
            <groupId>org.apache.kylin</groupId>
            <artifactId>kylin-jdbc</artifactId>
            <version>2.5.1</version>
        </dependency>
</dependencies>

代码示例

public class KylinMainTest {

    public static void main(String[] args) throws SQLException, ClassNotFoundException {

        //注册驱动
        Class.forName("org.apache.kylin.jdbc.Driver");

        //编写sql
        String sql="select PROVINCE_NAME,sum(FINAL_TOTAL_AMOUNT) sum_TOTAL_AMOUNT\n" +
                "from  DWD_FACT_ORDER_INFO  join    DWD_DIM_BASE_PROVINCE\n" +
                "on DWD_FACT_ORDER_INFO.PROVINCE_ID =DWD_DIM_BASE_PROVINCE.ID \n" +
                "group by DWD_DIM_BASE_PROVINCE.PROVINCE_NAME";

        //创建连接
        Connection connection = DriverManager.getConnection("jdbc:kylin://hadoop103:7070/gmall", "ADMIN", "KYLIN");

        //预编译sql
        PreparedStatement ps = connection.prepareStatement(sql);

        //执行sql
        ResultSet rs = ps.executeQuery();

        System.out.println("PROVINCE_NAME,sum_TOTAL_AMOUNT");

        //遍历结果
        while (rs.next()){

            System.out.println(rs.getString("PROVINCE_NAME")+","+rs.getDouble("sum_TOTAL_AMOUNT"));

        }

    }

效果如图

Kylin 操作方式(web UI ,JDBC,shell脚本,Zeppelin)

Shell 脚本

#!/bin/bash
#操作的cube名称
cube_name=order_cube
do_date=`date -d '-1 day' +%F`

#获取00:00时间戳
    # +%s 代表将日期格式转化为时间戳 
    #Kylin使用的是UTC时间,+8个小时转化为gmt+8(东八区时区时间)
start_date_unix=`date -d "$do_date 08:00:00" +%s`
# *1000转化为毫秒
start_date=$(($start_date_unix*1000))

#获取24:00的时间戳
stop_date=$(($start_date+86400000))
#-X :请求类型  新增——POST  更新——PUT  查询——GET 删除——DELEATE
#-H :请求头
    #Authorization  授权,后面跟用户名密码
    #Basic  说明用户名和密码用了Basic
#Content-Type——声明请求为json类型
#url为固定格式
curl -X PUT -H "Authorization: Basic QURNSU46S1lMSU4=" -H 'Content-Type: application/json' -d '{"startTime":'$start_date', "endTime":'$stop_date', "buildType":"BUILD"}' http://hadoop102:7070/kylin/api/cubes/$cube_name/build
相关标签: Kylin