摘要:背景 mr引擎在hive 2中将被弃用。官方推荐使用tez或spark等引擎。 选择 tez 使用有向无环图。内存式计算。 spark 可以同时作为批式和流式的处理引擎,减少学习成本。 问题&&不便 tez: 在hive sql中使用了union 或 join操作 tez会将任务切分,每个小任务,创
阅读全文
摘要:转自https://mp.weixin.qq.com/s/efh5JRmPfYmBTG5x8b30lA 1.物理元数据 描述物理资源的元数据,包括但不限于服务器、操作系统、机房位置等信息。 2.数据源元数据 描述数据源的元数据,通常包括四类信息: 数据源地址(IP、PORT等) 物理拓扑(主备、角色
阅读全文
摘要:set mapreduce.map.memory.mb = 4096; set mapreduce.reduce.memory.mb = 4096;
阅读全文
摘要:常用设置 任务占用资源计算 cores : 核心数executor.memory :单个excutor分配内存executor.instances=10:executor个数任务占用总核心数:2 * 10 + 1 = 21 1是driver占用的核数占用总内存:2 * 4 * 10 = 40
阅读全文
摘要:背景 启动hive时,可以看到2.0以后的版本,将要弃用mr引擎,官方建议使用spark,tez等引擎。 spark同时支持批式流式处理,可以减少学习成本。所以选用了spark作为执行引擎。 hive on spark 参数优化 使用hive on spark 默认只用2个container。任务处
阅读全文
摘要:set spark.executor.instances=20; set spark.executor.cores=5; set spark.executor.memory=5G;
阅读全文
摘要:Hive数值计算函数 (1)round(45.666,2)作用:四舍五入,保留2位小数 ceil(45.6) 作用:向上取整 floor(45.6) 作用:向下取整 (2)rand()返回一个0到1范围内的随机数 (3)exp(double a)返回自然对数e的a次方ln(double a)返回a的
阅读全文
摘要:在shell命令行执行 结果如下: 我们逐一解释一下:
阅读全文
摘要:首先用desc function,查看hive给出的函数解释 如果为空,则返回default值。 结果是0. 类似用法的函数还有:
阅读全文
摘要:背景 URL 的编码 是ASCII十六进制格式。数仓接受到前端上报的URL,要对URL字段解码。 如要将 解码为: 方式 hive sql中,通过反射调用java.net.URLDecoder方法 问题 实践中发现,部分https开头的url解析不完整。例如解码下面的URL, 通过上面的方法,结果是
阅读全文
摘要:grep -R 举个栗子,在有上百个sql文件的目录下,查找使用 spark引擎 执行的文件。 代码是: 返回的就是包含 spark 的sql文件名。
阅读全文
摘要:在使用azkaban作为调度工具的时候,难免遇到只需要跑工作流某部分的情况,这时需要用到停用部分工作的操作, 如图:
阅读全文
摘要:azkban实现任务重跑 我们执行sql的方式是将hql文件上传到服务器本地。然后执行shell命令 注:hive -e 是执行依据短sql,hive -f是执行hql文件 test_scheduler.hql的内容是需要执行的sql语句,参数的写法如下图: azkaban 传入参数 1.配置job
阅读全文
摘要:set hive.merge.mapfiles=true; set hive.merge.mapredfiles=true; set hive.merge.size.per.task=100000000; set mapred.task.timeout=60000000; set hive.exec.compress.intermediate=true; set hive.exec.parall...
阅读全文
摘要:current_date() 获取当天时间 结果是 实际操作中,这种写法只能获取日期是今天的数据,不适合数据重跑。 更合适的写法是 ,将日期作为外部参数传入:
阅读全文
摘要:话不多说,直接上代码 部署时遇到一个问题: 解决方法是: 原因是某些包没有关联上,装包时,加上[hive]后缀
阅读全文
摘要:传统的开发方式是:需求方提供文档,实现方按照文档一步步开发,中间很少变动和修改。 但是随着市场的变化,产品更新迭代的加快,也要求开放方更快的响应变化,用最短的时间开发,部署上线。 这样,持续集成(CI coutinuous integration),持续部署(continuous delivery)
阅读全文
摘要:我们在之前的文章中,介绍了二级分区,混合分区,静态分区,动态分区的区别和建表。 今天我们聊下,当我们建好分区表。并且通过程序在表的分区目录(location)下,写入了文件。 如何在hive中查询到插入的分区数据。 假如我们直接查表,会发现因为没有在表的元数据中加入新增的分区信息,导致查不到数据。
阅读全文