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


    Web UI

    查看属性

     

     查询

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

     

     

     Zeppelin

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

     

     然后再创建note

     

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

     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
    " +
                    "from  DWD_FACT_ORDER_INFO  join    DWD_DIM_BASE_PROVINCE
    " +
                    "on DWD_FACT_ORDER_INFO.PROVINCE_ID =DWD_DIM_BASE_PROVINCE.ID 
    " +
                    "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"));
    
            }
    
        }

    效果如图

     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
  • 相关阅读:
    转换进制,十六进制数相加
    一个人的旅行(Dijkstra算法)
    畅通工程续(Dijkstra算法)
    免费书下载
    http://d3js.org/
    React.js model
    jtable更新数据
    java knowledge record
    ActionListener三种实现
    java接口理解(转载)
  • 原文地址:https://www.cnblogs.com/yangxusun9/p/12709811.html
Copyright © 2020-2023  润新知