商业智能-ETL
db_guy
前行亦是归途
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Hive last_value/first_value实现ignore nulls
1.创建一张测试表 drop table if exists default.test_tab purge; create table default.test_tab as select date_add(current_timestamp(),-10) as event_time,'1' as id, 'A' as a,'B' as b,'C' as c union all select date_add(current_timestamp(),-9) as event_time,'1' as id,原创 2020-12-14 20:21:47 · 3292 阅读 · 0 评论 -
kettle输入组件-JSON Input的使用案例
用例背景说明 数据文件car_factory.js,其内容如下: { "RECORDS":[ { "factory_id":"10", "factory_name":"一汽奔腾", "name_index":"Y", "picture_path":null }, { "factory_id":"107", "factory_name":"劳斯莱斯", "name_in原创 2016-11-23 11:34:48 · 32275 阅读 · 0 评论 -
Sqoop导入hive数据库NULL值处理
最近用sqoop将mysql的一张表导入到hive中,发现以前is null的字段导入到hive的时候,被转换为了字符串’NULL’或’null’。 当导入的时候加上–direct选项的时候,null值导入变成了字符串’NULL’,命令如下:sqoop import \ --connect "jdbc:mysql://${hostname}:3306/${db_name}?useUnic原创 2017-09-30 12:13:23 · 12028 阅读 · 0 评论 -
Sqoop解决串行
ALTER TABLE cadi_dpidb.cj_gauss_car_dpiusertag_mobile SET SERDEPROPERTIES ('escape.delim' = '\\');sqoop的时候指定参数:–escaped-by ‘\’sqoop import \ --connect "jdbc:mysql://10.10.4.2:3306/dpidb?useUnicode原创 2017-10-17 12:30:29 · 1128 阅读 · 0 评论 -
hive导入CSV数据,使用动态分区重新分区
创建数据表hive> create database cus; hive> use cus; hive> create table telno_md5( > phone string, > md5 string ) > ROW FORMAT DELIMITED > FIELDS TERMINATED BY ',' > STORED AS TEXTFILE;导原创 2017-12-07 15:38:08 · 1717 阅读 · 0 评论 -
Hive无法删除表的解决办法
背景介绍: 业务系统(Oracle关系型数据库)针对同一个业务实体,每年设计不同的表,表结构并不一致,有细微差异。 最开始我并不了解这种情况,试图将多张不同结构的表导入同一张hive表,结果第一张表导入成功之后,再导入其他表的数据卡住了,想删除也无法删除该表。 解决办法: 1.解锁该表,删除目标表${table_name} 由于元数据冲突,该表已经被锁,hive存在两种锁,共享锁Shared(S)...原创 2019-07-12 09:12:51 · 7440 阅读 · 1 评论 -
Kettle一些问题总结
1.oracle读取速度慢 解决办法:原创 2019-07-12 09:42:33 · 3373 阅读 · 0 评论 -
Sqoop解决宽表内存溢出OutOfMemoryError
oracle里面导入一张大款表,字段数非常多,而且有很多长文本,这些文本都需要用到,导入的时候报错OutOfMemoryError,内存溢出错误。 解决办法之一是增加内存,目前情况来说不显示,于是我采用另一种方法:减小 cache到内存的记录条数,即使用–fetch-size选项调整fetchSize。fetchSize默认值为1000,这里我们把它调小到200: sqoop import \ ...原创 2019-08-20 15:29:38 · 3532 阅读 · 2 评论
分享