zeppelin+kylin+hive+hbase+hadoop+sqoop解决方案之sql问题
2018-01-15 10:49
323 查看
大致说下架构,hadoop的mapreduce实现基础计算,kylin实现数据统计分析,sqoop把mysql数据同步到hive中
hive和hbase服务于kylin,hive是数据仓库为kylin提供数据,hbase存放kylin生成的cube。zeppelin通过kylin提供的接口进行大数据可视化展示。
1、整个过程中mysql\hive\kylin三处用到了sql,但标准不一样这是比较搞脑子的地方。
1)mysql,我就不多讲了,各种函数处理数据十分灵活。
2)hive sql,灵活度比关系型数据库差些,不过也还好。https://www.iteblog.com/archives/2258.html#i-7
3)kylin在insight和api会调用自己的一套sql标准,官网说“- 可扩展超快OLAP引擎: Kylin是为减少在Hadoop上百亿规模数据查询延迟而设计- Hadoop ANSI SQL 接口: Kylin为Hadoop提供标准SQL支持大部分查询功能”,但是网上也么找到具体的函数使用说明,我根据报错信息,得出大概支持下列sql函数:
"UNION"
"INTERSECT"
"EXCEPT"
"MINUS"
"ORDER"
"LIMIT"
"OFFSET"
"FETCH"
"STREAM"
"DISTINCT"
"ALL"
"*"
"+"
"-"
"NOT"
"EXISTS"
<UNSIGNED_INTEGER_LITERAL>
<DECIMAL_NUMERIC_LITERAL>
<APPROX_NUMERIC_LITERAL>
<BINARY_STRING_LITERAL>
<PREFIXED_STRING_LITERAL>
<QUOTED_STRING>
<UNICODE_STRING_LITERAL>
"TRUE"
"FALSE"
"UNKNOWN"
"NULL"
<LBRACE_D>
<LBRACE_T>
<LBRACE_TS>
"DATE"
"TIME"
"TIMESTAMP"
"INTERVAL"
"?"
"CAST"
"EXTRACT"
"POSITION"
"CONVERT"
"TRANSLATE"
"OVERLAY"
"FLOOR"
"CEIL"
"CEILING"
"SUBSTRING"
"TRIM"
"RUNNING"
"PREV"
"NEXT"
<LBRACE_FN>
"MULTISET"
"ARRAY"
"SPECIFIC"
<IDENTIFIER>
<QUOTED_IDENTIFIER>
<BACK_QUOTED_IDENTIFIER>
<BRACKET_QUOTED_IDENTIFIER>
<UNICODE_QUOTED_IDENTIFIER>
"ABS"
"AVG"
"CARDINALITY"
"CHAR_LENGTH"
"CHARACTER_LENGTH"
"COALESCE"
"COLLECT"
"COVAR_POP"
"COVAR_SAMP"
"CUME_DIST"
"COUNT"
"CURRENT_DATE"
"CURRENT_TIME"
"CURRENT_TIMESTAMP"
"DENSE_RANK"
"ELEMENT"
"EXP"
"FIRST_VALUE"
"FUSION"
"GROUPING"
"HOUR"
"LAST_VALUE"
"LN"
"LOCALTIME"
"LOCALTIMESTAMP"
"LOWER"
"MAX"
"MIN"
"MINUTE"
"MOD"
"MONTH"
"NULLIF"
"OCTET_LENGTH"
"PERCENT_RANK"
"POWER"
"RANK"
"REGR_SXX"
"REGR_SYY"
"ROW_NUMBER"
"SECOND"
"SQRT"
"STDDEV_POP"
"STDDEV_SAMP"
"SUM"
"UPPER"
"USER"
"VAR_POP"
"VAR_SAMP"
"YEAR"
"CURRENT_CATALOG"
"CURRENT_DEFAULT_TRANSFORM_GROUP"
"CURRENT_PATH"
"CURRENT_ROLE"
"CURRENT_SCHEMA"
"CURRENT_USER"
"SESSION_USER"
"SYSTEM_USER"
"NEW"
"CASE"
"CURRENT"
"CURSOR"
"ROW"
"("
kylin相较于hivesql,很多实用功能都不能用,这就使得我们在整个实施过程中数据的处理和建模就要格外小心了。
2、具体的解决方案:
1)提前想好kylin中的数据类型,在sqoop从mysql导数据的时候,查询语句就要把数据格式转换好。
2)hive view的使用,适用于业务变动比较大的时候。我创建了一个视图v_params,只有一行一列数据,该数据中存放了各类参数通过|分隔。kylin没有日期计算函数,所以我要获取当前日期及过去几天的信息实现折线图显示,只能通过视图方式在hive中计算好后,每天凌晨刷新数值写到kylin中。
90d6
hive和hbase服务于kylin,hive是数据仓库为kylin提供数据,hbase存放kylin生成的cube。zeppelin通过kylin提供的接口进行大数据可视化展示。
1、整个过程中mysql\hive\kylin三处用到了sql,但标准不一样这是比较搞脑子的地方。
1)mysql,我就不多讲了,各种函数处理数据十分灵活。
2)hive sql,灵活度比关系型数据库差些,不过也还好。https://www.iteblog.com/archives/2258.html#i-7
3)kylin在insight和api会调用自己的一套sql标准,官网说“- 可扩展超快OLAP引擎: Kylin是为减少在Hadoop上百亿规模数据查询延迟而设计- Hadoop ANSI SQL 接口: Kylin为Hadoop提供标准SQL支持大部分查询功能”,但是网上也么找到具体的函数使用说明,我根据报错信息,得出大概支持下列sql函数:
"UNION"
"INTERSECT"
"EXCEPT"
"MINUS"
"ORDER"
"LIMIT"
"OFFSET"
"FETCH"
"STREAM"
"DISTINCT"
"ALL"
"*"
"+"
"-"
"NOT"
"EXISTS"
<UNSIGNED_INTEGER_LITERAL>
<DECIMAL_NUMERIC_LITERAL>
<APPROX_NUMERIC_LITERAL>
<BINARY_STRING_LITERAL>
<PREFIXED_STRING_LITERAL>
<QUOTED_STRING>
<UNICODE_STRING_LITERAL>
"TRUE"
"FALSE"
"UNKNOWN"
"NULL"
<LBRACE_D>
<LBRACE_T>
<LBRACE_TS>
"DATE"
"TIME"
"TIMESTAMP"
"INTERVAL"
"?"
"CAST"
"EXTRACT"
"POSITION"
"CONVERT"
"TRANSLATE"
"OVERLAY"
"FLOOR"
"CEIL"
"CEILING"
"SUBSTRING"
"TRIM"
"RUNNING"
"PREV"
"NEXT"
<LBRACE_FN>
"MULTISET"
"ARRAY"
"SPECIFIC"
<IDENTIFIER>
<QUOTED_IDENTIFIER>
<BACK_QUOTED_IDENTIFIER>
<BRACKET_QUOTED_IDENTIFIER>
<UNICODE_QUOTED_IDENTIFIER>
"ABS"
"AVG"
"CARDINALITY"
"CHAR_LENGTH"
"CHARACTER_LENGTH"
"COALESCE"
"COLLECT"
"COVAR_POP"
"COVAR_SAMP"
"CUME_DIST"
"COUNT"
"CURRENT_DATE"
"CURRENT_TIME"
"CURRENT_TIMESTAMP"
"DENSE_RANK"
"ELEMENT"
"EXP"
"FIRST_VALUE"
"FUSION"
"GROUPING"
"HOUR"
"LAST_VALUE"
"LN"
"LOCALTIME"
"LOCALTIMESTAMP"
"LOWER"
"MAX"
"MIN"
"MINUTE"
"MOD"
"MONTH"
"NULLIF"
"OCTET_LENGTH"
"PERCENT_RANK"
"POWER"
"RANK"
"REGR_SXX"
"REGR_SYY"
"ROW_NUMBER"
"SECOND"
"SQRT"
"STDDEV_POP"
"STDDEV_SAMP"
"SUM"
"UPPER"
"USER"
"VAR_POP"
"VAR_SAMP"
"YEAR"
"CURRENT_CATALOG"
"CURRENT_DEFAULT_TRANSFORM_GROUP"
"CURRENT_PATH"
"CURRENT_ROLE"
"CURRENT_SCHEMA"
"CURRENT_USER"
"SESSION_USER"
"SYSTEM_USER"
"NEW"
"CASE"
"CURRENT"
"CURSOR"
"ROW"
"("
kylin相较于hivesql,很多实用功能都不能用,这就使得我们在整个实施过程中数据的处理和建模就要格外小心了。
说明 | mysql | hive | kylin |
日期转字符 | select cast(current_date AS char); | select cast(current_date AS STRING); | select cast(current_date AS varchar); |
字符串截取 | select substr('20160106112134432',1,8); select SUBSTRING('20160106112134432',1,8); | select substr('20160106112134432',1,8); select SUBSTRING('20160106112134432',1,8); | select SUBSTRING('20160106112134432',1,8); |
字符串合并 | select concat('aa','bb') | select concat('aa','bb') | select concat('aa','bb') |
日期加减 | select ADDDATE(current_date,1); | select date_add(current_date,-1); | 无 |
日期格式转换 | select DATE_FORMAT(current_time,"%Y%m%d %H:%i:%s") | select from_unixtime(unix_timestamp(current_date),'yyyyMMdd') from dual; | 无 |
1)提前想好kylin中的数据类型,在sqoop从mysql导数据的时候,查询语句就要把数据格式转换好。
2)hive view的使用,适用于业务变动比较大的时候。我创建了一个视图v_params,只有一行一列数据,该数据中存放了各类参数通过|分隔。kylin没有日期计算函数,所以我要获取当前日期及过去几天的信息实现折线图显示,只能通过视图方式在hive中计算好后,每天凌晨刷新数值写到kylin中。
90d6
相关文章推荐
- Hadoop2.0集群、Hbase集群、Zookeeper集群、Hive工具、Sqoop工具、Flume工具搭建总结
- 王家林最受欢迎的一站式云计算大数据和移动互联网解决方案课程 V1(20140809)之Hadoop企业级完整训练:Rocky的16堂课(HDFS&MapReduce&HBase&Hive&Zookee
- hadoop,hbase,hive,zookeeper版本整合兼容性问题总结
- Centos中hive/hbase/hadoop/mysql实际操作及问题总结
- 王家林的81门一站式云计算分布式大数据&移动互联网解决方案课程第三门课程:云计算分布式大数据Hadoop征服之旅:HDFS&MapReduce&HBase&Hive&集群管理
- 【心血之作】linux虚拟机下安装配置Hadoop(完全分布式)生态环境(hadoop2.2.0,HBase0.98,Hive0.13(连接oracle),sqoop1.4.4(连接oracle)
- hadoop-2.5.0,hbase,hive,pig,sqoop,zookeeper 集群安装
- hadoop、hbase、hive环境搭建时候遇到的问题汇总
- 最全图文教你怎么搭建分布式hadoop+zkp+hbase+mysql+hive+sqoop
- 大数据架构开发 挖掘分析 Hadoop HBase Hive Storm Spark Sqoop
- hadoop,hbase,hive,zookeeper版本整合兼容性问题总结
- Hadoop hive sqoop zookeeper hbase生产环境日志统计应用案例(hadoop篇)
- hadoop完全分布式集群+Win Eclipse+Hbase+Hive+Zookeeper+Sqoop+SPARK试验机平台
- Hadoop hive sqoop zookeeper hbase生产环境日志统计应用案例(Hive篇)
- Hadoop2.6.4、zookeeper3.4.6、HBase1.2.2、Hive1.2.1、sqoop1.99.7、spark1.6.2安装
- 大数据时代之hadoop(六):hadoop 生态圈(pig,hive,hbase,ZooKeeper,Sqoop)
- Centos搭建mysql/Hadoop/Hive/Hbase/Sqoop/Pig
- Hadoop hive sqoop zookeeper hbase生产环境日志统计应用案例(Hbase篇)
- Hadoop2.2.0 HA高可用分布式集群搭建(hbase,hive,sqoop,spark)
- [转]云计算之hadoop、hive、hue、oozie、sqoop、hbase、zookeeper环境搭建及配置文件