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