Hive

数仓大法好!跨境电商 Shopee 的实时数仓之路

微笑、不失礼 提交于 2020-08-13 08:37:31
作者:黄良辉 本文讲述 Flink 在 Shopee 新加坡数据组(Shopee Singapore Data Team)的应用实践,主要内容包括: 实时数仓建设背景 Flink 在实时数据数仓建设中结合 Druid、Hive 的应用场景 实时任务监控 Streaming SQL 平台化 Streaming Job 管理 未来规划优化方向 建设背景 Shopee 是东南亚与台湾领航电商平台,覆盖新加坡、马来西亚、菲律宾、台湾、印度尼西亚、泰国及越南七大市场,同时在中国深圳、上海和香港设立跨境业务办公室。 Shopee在2020年第一季的总订单量高达4.298亿,同比增长111.2%。 根据App Annie, Shopee在 2020年第一季强势跻身全球购物类 App下载量前三名。 同时斩获东南亚及台湾市场购物类 App 年度总下载量、平均月活数、安卓使 来源: oschina 链接: https://my.oschina.net/u/4266664/blog/4315005

KETTLE-Hadoop文件数据抽取及输出

孤街浪徒 提交于 2020-08-13 06:29:43
一、需求说明 将源表(T_USER)中的用户信息同步到Hadoop中,然后再抽取Hadoop文件中数据到文本文件中。 二、启动kettle 双击 Spoon.bat 就能启动 kettle 。 三、创建转换 1.Hadoop集群配置说明 首先需要从hadoop集群中(/../hadoop-3.1.2/etc/hadoop)复制core-site.xml,hdfs-site.xml,yarn-site.xml,mapred-site.xml文件到shim文件夹中(..\data-integration\plugins\pentaho-big-data-plugin\hadoop-configurations\cdh514),替换已有的文件。 注意要修改这些配置文件。比如hadoop节点的地址是不是正确等。由于core-site. xml 里面用的 hostname 连接的,而我们配置的时候用的 ip,所以需要修改core-site.xml为ip,然后重启Spoon。 由于Hadoop权限管理是弱管理,此处用户名和密码可以缺省。不过往Hadoop创建文件需要进行权限鉴证,所以此处修改Hadoop中的core-site.xml文件如下所示,表示不经过任何验证,所有用户拥有全部权限。(修改此配置需要重启hadoop): <property> <name>hadoop.security

kylin 安装相关

亡梦爱人 提交于 2020-08-13 05:45:58
su hdfs 使用hdfs安装防止创建hdfs目录权限问题 tar -zxvf apache-kylin-3.1.0-bin-hadoop3.tar.gz hive添加自定义参数 hive-site新增自定义参数 <property> <name>hive.security.authorization.sqlstd.confwhitelist</name> <value>mapred.*|hive.*| mapreduce.*|spark.*</value> </property> <property> <name>hive.security.authorization.sqlstd.confwhitelist.append</name> <value>mapred.*| hive.*|mapreduce.*|spark.*</value> </property> ./check-env.sh 检查环境 ./kylin.sh start 启动脚本 ./kylin.sh stop 停止脚本 1.执行./sample.sh 错误 erro Cannot modify dfs.replication at runtime 解决方法 https://www.jianshu.com/p/ef383f6b91cc 修改conf/kylin_hive_conf.xml 注释掉dfs

KETTLE完全分布式集群搭建和示例

吃可爱长大的小学妹 提交于 2020-08-12 23:24:58
一、Kettle的集群原理 完全分布式即是在该集群环境中所有的kettle服务都是部署在不同的机器上,互相之间没有影响。此处以一个真实环境为例,来介绍kettle完全分布式环境的开发使用。生产环境中kettle服务器都是部署在linux服务器上,在windows本地开发好kettle任务,然后在linux集群环境上运行。 二、完全分布式集群搭建 1.环境规划 该环境模拟一台主服务器,两台从服务器的方式。 2.环境准备 首先需要先准备三台linux服务器,并且分别在三台机器上安装好jdk和kettle。 (1)JDK安装 此处不做详细介绍,可参考网上安装文档。 (2)Kettle安装 创建一个目,将下载好的kettle解压后放在该文件夹下。 测试安装是否成功 在kettle的data-integration目录中执行kitchen.sh文件,若出现帮助信息,证明安装成功 3.环境配置 和windows环境一样修改kettle配置文件,打开kettle的安装目录,进入到data-integration->pwd目录,找到carte-config-master-8080.xml文件。该文件主要是进行master主机配置,name、hostname、port依次配置名称、主机IP和端口号(如果已经使用可以修改)。 注意:username和password并不是指主机的登陆账号和密码

谈谈Hadoop MapReduce和Spark MR实现

北战南征 提交于 2020-08-12 20:16:28
谈谈MapReduce的概念、Hadoop MapReduce和Spark基于MR的实现 什么是MapReduce? MapReduce是一种分布式海量数据处理的编程模型,用于大规模数据集的并行运算。 有以下几个特点: 分而治之,并行处理。 抽象了map和reduce的计算流程,对于分布式存储的数据可以并行的进行map处理,之后在reduce端对map结果进行汇总。 移动计算而非移动数据。 数据的计算传输需要大量的磁盘和网络IO。MapReduce会尽量在数据存储的节点执行计算,以减少不必要的开销。 Hadoop MapReduce 我们常说的MapReduce就是Hadoop MapReduce。 Hadoop MapReduce作业被分成 一系列运行在分布式集群中的map任务和reduce任务 ,每个任务都工作在被指定的小的数据自己上,因此负载是遍布集群中各个节点上的。 map任务负责 数据的载入、解析、转换和过滤。MapReduce作业的输入是一系列储存在HDFS中的文件。map任务的输出被称为中间键和中间值,会被发送到reduce端进行后续处理。 每个 reduce任务负责 处理map任务输出结果的一个子集。MapReduce确保每个reduce的输入都是按键排序的。 系统执行排序、将map输出作为输入传递给reduce的过程称为 shuffle

别再写一摞if-else了!再写开除!两种设计模式带你消灭它!

…衆ロ難τιáo~ 提交于 2020-08-12 10:12:45
题外话:看完评论感觉杠精真的是多,这篇文章明显是在说,不要写一大堆if-else,一大堆是啥意思不懂么,我没有一句话说了不要写if-else。开头也给出了需求,在这种需求的前提下不要写if-else,没毛病吧???真的觉得毁三观了。。 代码洁癖狂们!看到一个类中有几十个if-else是不是很抓狂? 设计模式学了用不上吗?面试的时候问你,你只能回答最简单的单例模式,问你有没有用过反射之类的高级特性,回答也是否吗? 这次就让设计模式(模板方法模式+工厂模式)和反射助你消灭if-else! 真的是开发中超超超超超超有用的干货啊! 那个坑货 某日,码农胖滚猪接到上级一个需求,这个需求牛逼了,一站式智能报表查询平台,支持mysql、pgxl、tidb、hive、presto、mongo等众多数据源,想要啥数据都能通通给你查出来展示,对于业务人员数据分析有重大意义! 虽然各个数据源的参数校验、查询引擎和查询逻辑都不一样,但是胖滚猪对这些框架都很熟悉,这个难不倒她,她只花了一天时间就都写完了。 领导胖滚熊也对胖滚猪的效率表示了肯定。可是好景不长,第三天,领导闲着没事,准备做一下code review,可把胖滚熊惊呆了,一个类里面有近30个if-else代码,我滴个妈呀,这可让代码洁癖狂崩溃了。 // 检验入参合法性 Boolean check = false; if(DataSourceEnum

KETTLE实现邮件告警

扶醉桌前 提交于 2020-08-12 10:10:11
一、需求说明 Kettle作业执行完成并发送成功信息邮件通知数据装载成功。 二、启动kettle 双击 Spoon.bat 就能启动 kettle 。 三、创建作业 说明:本次测试是基于之前的转换案例“案例一”进行创建,主要是通过抽取数据进行映射后,然后装载到数据库中。 1.新建一个作业 2.从左侧依次拖动 START 、转换、邮件通知、成功到右侧,并用线连接起来 3.双击“邮件”进行设置,在“地址”页签输入“收件人地址”、“发件人”相关信息。 4.对“服务器”页签进行设置之前需要先对新浪邮件服务器进行设置。登录163邮箱,打开设置,可以看到POP3/SMTP/IMAP: 5.开启客户端授权码设置,需要发短信进行验证 设置授权码,在kettle上面登录使用就是输入下面的密码,而不是输入登录密码 设置服务器,SMTP服务器和端口根据邮箱来设置,此处以163邮箱为例 设置邮件消息,可以设置日期、消息主题等。 设置附件,设置附件之前需要先对转换进行设置,设置日志地址和名称。右击转换,选择“编辑作业入口”。 设置日志文件名和路径、后缀名,选择日志级别。 设置附件,勾选“带附件”,文件类型选择“日志” 至此,该任务创建完成,点击运行,完成后登录邮箱查看邮件如下所示: 注意:想要学习通过kettle工具实现hadoop、hive、hbase数据库抽取输出,和其他更多关于kettle的知识

BigData:大数据的简介、核心知识(linux基础+Java/Python编程语言+Hadoop+Docker)、经典场景应用之详细攻略

不羁的心 提交于 2020-08-12 08:43:58
BigData:大数据的简介、核心知识(linux基础+Java/Python编程语言+Hadoop+Docker)、经典场景应用之详细攻略 BigData:大数据简介及以Hadoop生态系统为基础带你了解大数据必须掌握的那些知识(HDFS、HBase、Hive,Spark等等) 导读 : 大数定理 告诉我们,在试验不变的条件下,重复试验多次, 随机事件的频率近似于它概率 。“有规律的随机事件”在大量重复出现的条件下,往往呈现几乎必然的统计特性。 大数据的主要价值—— 辅助决策 。利用大数据分析,能够 总结经验、发现规律、预测趋势 ,这些都可以为辅助决策服务。 只有掌握的数据信息越多,人类的决策才能更加科学、精确、合理 。 目录 大数据简介 1、大数据的单位 2、大数据的5V特点——Volume、Velocity、Variety、Value、Veracity 3、大数据的价值体现 4、大数据与云计算密不可分 以Hadoop生态系统为基础带你了解大数据必须掌握的那些知识 大数据技术应用场景 1、经典应用场景 大数据核心技术 1、linux基础 2、编程语言——Java、Python 3、分布式存储框架——Hadoop生态系统+列式存储数据库HBase 4、资源调度框架——Docker 推荐文章 BigData之Hadoop:Hadoop的简介、深入理解、下载、案例应用之详细攻略

大数据中hive与传统并行数据库mysql的区别

蓝咒 提交于 2020-08-12 07:56:17
大数据中hive与传统并行数据库mysql的区别 由于hive采用了类似sql的查询语言HQL(Hive Query Language),所以对于初学者而言很容易把这二者搞混,但是事实上除了类似的查询语言外,二者并没有其他相同点。 #区别 二者的区别可以从数据量大小展开来讲 查询语言 为了便于熟悉SQL的java工程师开发,所以针Hive专门设计了类类SQL的查询语言,HQL; 数据存储位置; hive的数据是存在hdfs的,数据库的数据是存在快设备或者文件系统中的; 数据更新 数据库的数据更新是可以做到即时更新的(频繁的增删改查),而hive的数据是读多写少的(一次写入,多次读出),同时他是基于hadoop,所以它的操作都是追加操作,很难对数据进行修改; 索引 hive没办法添加索引 (同时也没必要进行添加索引,毕竟数据梁在那摆着),同时他是基于mr的,所以即使是暴力扫描全部数据,在大数据量的前提下,并行访问数据仍有很大优势; 执行 hive的执行引擎是mr,MySQL的执行引擎是innerdb; 执行延迟 hive因为mr的存在,所以他的操作仍是高延迟的,而数据库的执行延迟要低很多; 可拓展性 hvie拥有很高的可拓展性(毕竟是基于hadoop的),而数据库的拓展性相对来讲就很差,最先进的并行数据库Oracle在理论上的拓展能力也只有100台左右。 数据规模 这个就不用说啦

Hive 删除行, 表 ,清空表

自古美人都是妖i 提交于 2020-08-12 02:45:14
删除行 A表数据如下 id(String) name(String) ---------------------------- 1 aaa 2 bbb 3 ccc ----------------------------- 要求删除2 bbb hive 脚本如下: insert overwrite table A select id,name from A where id !=2; TRUNCATE: truncate 用于删除所有的行,这个行为在 Hive 元存储删除数据是不可逆的 DROP: 删除 hive 中的表 truncate 不能删除外部表!因为外部表里的数据并不是存放在 Hive Meta store 中 truncate: truncate table table_name; 例子: truncate table employees; Hive 1.x 版本中没有 delete 操作 2.x 版本更新后支持,如果一个表要实现 update 和 delete 功能,该表就必须支持 ACID,而支持 ACID,就必须满足以下条件: 1、表的存储格式必须是 ORC(STORED AS ORC); 2、表必须进行分桶 3、Table property 中参数 transactional 必须设定为 True 来源: oschina 链接: https://my