# Impala和Inceptor的区别
# 1、Impala建表时存储方式是parquet,Inceptor建表时的存储方式是ORC

# Impala建表:
drop table if exists dsc_bas.t_bjhg_dymx;
create table dsc_bas.t_bjhg_dymx
(`khh` string comment '客户号',`jys` string comment '交易所',`gdh` string comment '股东号',`xwdm` string comment '席位号',`zyq` string comment '质押券',`dysl` decimal(22,2) comment '质押数量',`zt` string comment '状态',`cjrq` int comment '成交日期',`cjbh` string comment '成交编号',`sjlx` string comment '数据类型',`yyb` string comment '营业部'
)comment '报价回购_抵押明细'
clustered by (khh) sorted by (khh asc) into 4 buckets
stored as parquet;# Inceptor建表:
drop table if exists dsc_bas.t_bjhg_dymx;
create table dsc_bas.t_bjhg_dymx
(`khh` string comment '客户号',`jys` string comment '交易所',`gdh` string comment '股东号',`xwdm` string comment '席位号',`zyq` string comment '质押券',`dysl` decimal(22,2) comment '质押数量',`zt` string comment '状态',`cjrq` int comment '成交日期',`cjbh` string comment '成交编号',`sjlx` string comment '数据类型',`yyb` string comment '营业部'
)comment '报价回购_抵押明细'
clustered by (khh) sorted by (khh asc) into 4 buckets
stored as ORC;

#2、插入方式的不同
# insert overwrite时,Inceptor需要加上关键字table,Impala不需要

Impala插入数据:
insert overwrite dsc_cfg.t_zqdm
(jys,jyzt,bz,gt_zqlb)
select udfs.f_get_etl_tran_dicval(dsc_cfg,t_zqdm,jys,1,1,a.jys) as jys,cast(jyzt as string) as jyzt,udfs.f_get_etl_tran_dicval(dsc_cfg,t_zqdm,bz,1,1,a.bz) as bz,zqlb as gt_zqlb
from src_aboss.tzqdm a;Inceptor插入数据:
insert overwrite table dsc_cfg.t_zqdm
(jys,jyzt,bz,gt_zqlb)
select udfs.f_get_etl_tran_dicval(dsc_cfg,t_zqdm,jys,1,1,a.jys) as jys,cast(jyzt as string) as jyzt,udfs.f_get_etl_tran_dicval(dsc_cfg,t_zqdm,bz,1,1,a.bz) as bz,zqlb as gt_zqlb
from src_aboss.tzqdm a;

#3、udf函数的使用方式不同
Inceptor中不需要udfs.前缀,单个查询时需要指定from system.dual

Impala使用udf函数:
select udfs.f_get_jyr_date(20180102,-1);Inceptor使用udf函数:
select .f_get_jyr_date(20180102,-1) from system.dual;

#4、变量传递方式不同
Inceptor在脚本中传递变量通过-hivevar name=value,Impala通过-var=“name=value”

Impala:
impala-shell -i 10.2.1.55 -l -udingdian \
-- ldap_password_cmd="echo -n dingdian_123" \
-- auth_creds_ok_in_clear -f p_stat_kh_yjfl.sql \
-- var="RQ=20180731"
SQL:${VAR:RQ}Inceptor:
beeline -u jdbc:hive2://192.168.166.237:10000/default \
-n dingdian -p 123456 -f p_tran_zqhq_his.sql \
--hivevar rq=20180628
SQL:${hivevar:rq}

#5、分区表插入方式不同
插入分区时:Inceptor中partition 需要紧跟在表名后面,之后再指定列名,而Impala则是表名后面跟列名,再跟partition

Impala:
insert overwrite table dsc_bas.t_zqhq_his(jys) partition (rq=${var:rq})
select udfs.f_get_etl_tran_dicval('dsc_bas','t_zqhq_his','jys',1,1,a.jys) as jys
from src_aboss.tzqhq a
where a.rq=${VAR:RQ};Inceptor:
insert overwrite table dsc_bas.t_zqhq_his partition (rq=${hivevar:rq}) (jys)
select udfs.f_get_etl_tran_dicval('dsc_bas','t_zqhq_his','jys',1,1,a.jys) as jys
from src_aboss.tzqhq a
where a.rq=${hivevar:RQ};

#6、with...as用法不同
Impala 用insert后接with..as中间可以写字段名,也可以省略,而Inceptor用insert后接with..as 中间不可以写字段名

impala:
insert into table temp.tmp_stat_nonekh_zb_yyb_fwkhs_01(u_id,sjdw,sjz,zbdm,zbz,ys_id,cj)
with temp_yyb_fwkhs_R as (select....) select ....Inceptor:
insert into table temp.tmp_stat_nonekh_zb_yyb_fwkhs_01
with temp_yyb_fwkhs_R as (select....) select ....

Impala和Inceptor的区别相关推荐

  1. 大数据——Impala工具使用

    目录 一.Impala概述 二.Impala优点 三.Impala和Hive 3.1 Impala和Hive的关系 3.2 Impala和Hive的区别 五.Impala查询过程 六.Impala安装 ...

  2. 最前沿:大规模深度强化学习的发展

    关注上方"深度学习技术前沿",选择"星标公众号", 精选干货,第一时间送达! 作者:Flood Sung 知乎链接:https://zhuanlan.zhihu ...

  3. 大数据学习(08)--Hadoop中的数据仓库Hive

    文章目录 目录 1.什么是数据仓库? 1.1数据仓库概念 1.2传统数据仓库面临的挑战 1.3 Hive介绍 1.4 Hive与传统数据库的对比 1.5 Hive在企业中的部署与应用 2.Hive系统 ...

  4. Hadoop之POC测试总结

    POC测试总结 一.       测试内容 测试内容 测试目的 其他 功能测试 验证产品的自动部署安装.集成统一管理.运维监控功能是否完善.对SQL的支持能力(SQL-标准.事务支持能力.索引.存储过 ...

  5. 大数据Hadoop、Hive、Kafka、Hbase、Spark等框架面经

    大数据组件 学习路线: 阶段1:学习绿色箭头的知识点: 阶段2:学习红色箭头的知识点: 阶段3:学习蓝色箭头的知识点: 1 Hadoop 1.1 Hadoop1.x与Hadoop2.x的区别 1.2 ...

  6. hadoop大数据工程师、数据开发工程师、数据仓库工程师 面试题目分享

    仅限于工作年限1-3年  一.HIVE岗 1.order by,distribute by,sortby的区别 点击打开链接 2.内部表.外部表的区别及使用场景 点击打开链接 3.讲一下hadoop生 ...

  7. cloudera manager的简单使用

    hadoop生态系统学习之路(十二)cloudera manager的简单使用 原创  2016年05月05日 10:32:45 标签: hadoop / 大数据 / cloudera / 生态系统  ...

  8. hive和hbase区别和联系

    作者:有点文 链接:https://www.zhihu.com/question/21677041/answer/185664626 来源:知乎 著作权归作者所有.商业转载请联系作者获得授权,非商业转 ...

  9. 深度学习(四十二)——深度强化学习(5)PPO, IMPALA, Hierarchical RL, OpenAI

    PPO(Proximal Policy Optimization) PPO是2017年由OpenAI提出的一种基于随机策略的DRL算法,也是当前OpenAI的默认算法. PPO是一种Actor-Cri ...

  10. spark sql合并小文件_如何比较Hive,Spark,Impala和Presto?

    Spark,Hive,Impala和Presto是基于SQL的引擎,Impala由Cloudera开发和交付.在选择这些数据库来管理数据库时,许多Hadoop用户会感到困惑.Presto是一个开放源代 ...

最新文章

  1. python requests
  2. linux ls错误,ls错误
  3. 如果服务器开机显示NObootable,电脑不能开机提示No bootable device怎么办?
  4. Tomcat一步步实现反向代理、负载均衡、内存复制
  5. lora模块在牛联网和智慧农业中的应用案列
  6. 苹果小圆点怎么弄出来_原来苹果手机轻点2下屏幕就能截图,以前还不知道,太方便了...
  7. 华容道(java版)
  8. linux zx命令_LINUX命令自用
  9. .net函数查询_SQL窗口函数
  10. Java获取时间戳,System.currentTimeMillis() 和 System.nanoTime() 哪个更快?
  11. 高一计算机教学,高一信息技术教学计划参考
  12. 为什么canvas画的是正方形是长方形
  13. html5怎么获取当前星期几,javascript如何获取今天是星期几?
  14. 一个nginx部署多个项目
  15. LL(1)语法分析实验报告
  16. Oracle数据库获取当前自然周,当前周的起始和结束日期
  17. 关于程序员的20 幅幽默漫画,太真实了!
  18. sqlite自动转mysql,Sqlite数据库转换为mysql工具SqliteToMysql使用教程
  19. Redis——redis配置与优化
  20. 基于Springboot开发实现的图书管理系统(附源码)

热门文章

  1. async/await实现同步
  2. 用Markdown记笔记后转换成html
  3. yagmail发送附件
  4. 大数据 客户标签体系_CIO创享任寅姿:面向业务的数据资产建设方法论——标签类目体系...
  5. docker常用操作(三) docker安装maven私服
  6. 基于Python实现的DHT嗅探器
  7. 下载 / 安装 Visual Studio - C语言零基础入门教程
  8. WinForm 进度条简单实现
  9. Python Web编程入门
  10. C#开发Android应用实战