- 博客(16)
- 收藏
- 关注
原创 python读取文件并处理成行
python读取文件比Java简洁很多:def read_line(file): """ text to lines cool :param file: file name :return: the content of text line by line """ with open(file) as f: for lin...
2018-09-28 21:58:34 1196
原创 shell脚本调度impala脚本总结
背景:由于公司使用oozie调度工作流但是其不支持impala只能转shell间接调度首先说下impala的交互方式:使用客户端直接进入impala然后进行sql操作,配好环境后impala-shll即可 使用hue impala-shell -q ‘select。。。’ -i localhost(地址) 若sql比较多可以写成文件后缀名无所谓impala-shell -f file...
2018-09-28 15:54:27 7437
原创 关于访问增量问题的思考
问题:在访问日志中会出现会话中断但是用户未离开的情况,会产生两条或更多记录,但是这些记录都是一次访问的日志,希望可以合并记录;user_name arrived_time leave_time A 00:00 00:23 A 00:23 00:40 A 00:40 00:50 A 04:00 04::23 期望...
2018-09-27 17:42:28 277
原创 shell开发hive,impala
在进行数据处理的时候想把hql,和impala的sql写成脚本来执行但是oozie并没有集成impala所以需要使用shell脚本来操作。简单的hive sql可以直接在shell脚本中写然后使用hive -e来执行比如:hive -e 'select * from tablea;'但是复杂的或者整个hql已经写好文件了这时候就需要使用shell来执行hive的hql文件了命令如下:...
2018-09-26 16:36:22 324
原创 hive表集群间的迁移
记录下工作中由于需要复制生产环境到测试环境以供测试使用做的一次数据库的迁移,方法比较繁琐,有待改进;基本思路:将生产环境的表导出到hdfs,将hdfs的数据get到本地,scp到测试环境的本地,put到测试环境的hdfs,再进行导入;hive表到处到hdfs: export table table_name to '/home/path'; 这里表名最好将库名也加上,后面的path...
2018-09-26 10:58:36 987
原创 hive复制分区表带数据
1.创建不带数据的表结构:create table new_table like old_table;2.创建带数据的表但是没有分区结构:create new_table as select * from old_table;3.创建带分区的表且包含数据: 先复制表结构用第一条语句 向表中插入数据:insert into new_table partition(sex = 'fam...
2018-09-19 20:49:53 1201
原创 列表推到式学习
python中的列表推到式属于其特有的语法,可以使代码变得简洁很多,如下demo:# 将一个1-8的list映射为其平方的listnums = range(1, 9, 1)quares = [num**2 for num in nums]print(quares)# wow,so coolquares = [num**2 for num in nums if num % 2 == ...
2018-09-18 21:55:24 176
原创 zip功能强大
python中的内置函数zip其功能强大到令我发指,见如下代码段:names = ["Lucas", "Mark", "David", "Kobe"]ages = [21, 23, 53, 53]# amazing again,it shucks meprint(list(zip(names, ages)))# 当元素不对等时会怎样?names.append("James")...
2018-09-18 21:52:13 208
原创 python循环学习
python中的for循环比Java中的更加简练有点类似于Scala基本语法如下:cities = ["beijing", "shanghai", "tianjin"]for city in cities: print(city.title())while循环基本一样,基本语法如下:i = 0 while i < 9: print(i) i += ...
2018-09-18 21:48:51 203
原创 python集合学习笔记
python的集合与Java的类似大概分为三类list 列表 set 去重的集合 tuple 不可变的元祖 dictionary 字典对应Java中的map下面记录下学习的内容 :以上四类集合都可以理解为容器;list特点:可变集合,可以添加,删除,覆盖等操作; 有序的集合,可以按索引操作 访问是可以在集合后面以中括号形式来访问list[]tuple特点:可以理解...
2018-09-17 21:15:57 149
原创 Generic UDF开发测试
对于hive开发udf继承GenericUDF需要实现三个必要的方法initialize方法需要声明返回值类型 evaluate实现主要逻辑 getDisplayString(没研究明白)记录开发测试:1.在initialize方法中 什么都不写直接返回null,其他两种方法都写 --报错:FAILED: RuntimeException typeInfo cannot b...
2018-09-17 16:59:35 1601 1
原创 idea调整jdk版本
使用idea开发maven项目使用java其配置 本地jdk步骤如下:1.idea:file-->ProjectStructures-->SDKS可指定依赖的jdk路径2.虽然开发时使用的是自己指定的jdk版本但是idea的语法检查还是得单独指定的idea-->ProjectStructures-->Modules把languagelevel改了,这样在...
2018-09-14 19:35:42 6720
原创 利用lieda打maven包
在开发UDF的过程中需要将jar包上传到服务器来当作函数引用这就涉及到了maven打包;在之前开发的时候都是粒度贼粗的打包,将所有组的依赖都打包直接在服务器上maven package,但是这种方法注定是不可行的,1.jar包太大 2.服务器上的环境已经存在某些甚至是大部分程序,一些基础包就是不必要的了比如在hadoop集群上那么hadoop-common就是非必需的依赖了;这就...
2018-09-11 10:42:31 224
原创 UDF开发
hive版本:1.1.0-cdh5.14.0上次开发udf还是在培训的时候,只记得需要集成udf然后实现evaluate方法就可以了,但是用到的这个版本有了较大的改动,开发udf需要 继承genericUDF,而之前的udf也变成了弃用udf;genericUDF必须要实现的方法:initialize方法用于初始化,制定输入输出的类型 evaluate方法表达数据的处理逻辑 get...
2018-09-10 18:07:29 500
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人