自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(424)
  • 收藏
  • 关注

原创 工作十年:从大厂到小厂

系列文章目录提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录系列文章目录前言一、初入公司,嚣张跋扈个人感觉前言从XX离职,得过一些奖励。期间从研发转岗为解决方案架构师(高级售前),因为ai研发,我在团队一直给其他人打杂,不让写算法,就只能把博士(或其他垃圾)写的算法部署上线,建demo环境。当时真的人生只黑暗的一段时间,数次想死。工作让人崩溃,没有未来,周围只有士武一个朋友,每天我俩工作完,他不善言辞,就听我bb,说谁傻X,谁有病,自己怎么不好。自己一个人在 八百里黄土中

2022-04-29 18:41:29 590 1

原创 pylucene分别安装在linux和windows(官方无Windows版的pylucene,要自编译)

pylucene 安装 目前python很多包只支持32位,不支持64位。所以安装python尽量使用32位。不要64位,否则很多功能用不了 http://blog.csdn.net/orzli/article/details/12401507 http://www.shangxueba.com/jingyan/2262010.html http://blog.163.co

2017-01-17 00:08:58 4899

原创 动态规划:样例讲解一篇通

概念讲解动态规划是把大问题分解成子问题(但不能简单的分解,子问题要具有相同子结构的解),并综合子问题的解,导出大问题的解,问题求解耗时会按问题规模呈幂级数增加。基本方法:为了节约重复求相同子问题的时间,引入一个数组,不管它们是否对最终解有用,把所有子问题的解存于该数组中。举例【问题】 求两字符序列的最长公共字符子序列假设,两个 序列 a[],b[],有公共最长子序列 z[]则必须具有如下性质:

2016-11-05 23:11:51 1148

原创 java中static特殊性和final(static成员直接被访问,this不能用在static方法中,static不可访问非static)

java的static关键字 java中,static修饰的成员变量和成员方法叫静态变量和静态方法,不依赖类特定的实例,被类的所有实例共享。静态变量或类变量 和 实例变量,区别是: 静态变量在内存中只有一个拷贝(节省内存),JVM只分配一次内存,在加载类的过程中完成静态变量的内存分配,用类名直接访问,也可以通过对象来访问(不推荐,尽量不用)。 实例变量在初始化后一个实例时为该实

2016-11-04 18:59:17 1960

原创 eclipse安装和中文汉化,以及配置

官网下载 eclipse http://www.eclipse.org/downloads/eclipse-packages/ ———-选择 “Eclipse IDE for Java Developers”,确定是64bit还是 32的 或者http://www.eclipse.org/downloads/ 直接下载推荐版本下载后安装,自定义安装目录 注意,安装时提示没有

2016-08-26 17:02:32 140266 19

原创 hive指定hadoop执行队列

指定队列的命令:有三种:set mapred.job.queue.name=queue3;SET mapreduce.job.queuename=queue3;set mapred.queue.names=queue3;老版本一般 mapred开头 新版本是mapreduce开头 老版本对应的新版本参数可以查出来队列自己设定,测试时注意select * from tb 不会产生map re

2016-07-22 12:52:40 46010

原创 python用openpyxl操作excel

Win32 COM操作office但讲不清楚,可能不支持夸平台,linux是否能用?xlrd(读excel)表: xlrd读大表效率高于openpyxl xlwt(写excel)表: xlrd和xlwt对版本上兼容不太好,很多新版excel有问题。openpyxl(可读写excel表)专门处理Excel2007及以上版本产生的xlsx文件,xls和xlsx之间转换容易如果编码是“gb2312”

2016-06-18 15:30:46 34246 5

原创 hive表的存储格式; ORC格式的使用

hive表的源文件存储格式有几类: 1、TEXTFILE 默认格式,建表时不指定默认为这个格式,导入数据时会直接把数据文件拷贝到hdfs上不进行处理。源文件可以直接通过hadoop fs -cat 查看 2、SEQUENCEFILE 一种Hadoop API提供的二进制文件,使用方便、可分割、可压缩等特点。 SEQUENCEFILE将数据以方式一create table i

2016-06-17 20:02:22 47553 6

原创 pthon核心编程-读书笔记:知识点摘录与总结(方便理解和快速记忆)

Python 中的列表(大小可变的数组)和字典(哈希表)就是内建于语言本身的。在核心语言中提供这些重要的构建单元,可以鼓励人们使用它们, 缩短开发时间与代码量,产生出可读性更好的代码。C不提供, c++功能不够简洁。 面向对象,可升级:Python 提倡简洁的代码设计、高级的数据结构和模块化的组件,确保灵活性、一致性并缩短必要的调试时间            扩展性:兼容扩展c

2016-06-10 11:56:49 3534

原创 快速排序quick_sort(python的两种实现方式)

排序算法有很多,目前最好的是quick_sort:unstable,spatial complexity is nlogN.快速排序原理python实现严蔚敏的 datastruct书中有伪代码实现,因为Amazon面试需要排序,所以用python实现了。两种实现方法,功能一致,效率没测,请高手留言第一种实现标准算法,严蔚敏书中的伪代码实现#!/usr/bin/python# -*- co

2016-06-08 15:41:39 24823 1

原创 hive高阶1--sql和hive语句执行顺序、explain查看执行计划、group by生成MR

hive语句执行顺序msyql语句执行顺序代码写的顺序:select ... from... where.... group by... having... order by.. 或者from ... select ...代码的执行顺序:from... where...group by... having.... select ... order by...hive 语句执行顺序大致

2016-06-02 20:22:37 31934 10

原创 hive中的NULL(hive空值处理)

HIVE中默认将NULL存为\N,可以在线上用hadoop fs -cat查看源文件,文件中存储大量\N, 这样量大会浪费大量空间。如果用java、python操作源数据时要注意解析。 另外,hive表的源文件中默认,列分隔符为\001(SOH),行分隔符为\n(目前只支持\n,别的不能用,所以定义时不需要显示声明)。元素间分隔符\002,map中key和value的分隔符为\003。

2016-05-19 10:27:45 39303 2

原创 hive分区partition(动态和静态分区混合使用; partition的简介)

分区是hive存放数据的一种方式。将列值作为目录来存放数据,就是一个分区。这样where中给出列值时,只需根据列值直接扫描对应目录下的数据,不扫面其他不关心的分区,快速定位,查询节省大量时间。分动态和静态分区两种动态分区1)不显示的给出分区名,根据列的取值自动建立对应分区(多少种取值,多少种分区),所以需要限制最大分区数: SET hive.exec.dynamic.partition=t

2016-05-18 19:41:22 13851

原创 hive 压缩全解读(hive表存储格式以及外部表直接加载压缩格式数据);HADOOP存储数据压缩方案对比(LZO,gz,ORC)

数据做压缩和解压缩总会增加CPU的开销,但可以最大程度的减少文件所需的磁盘空间和网络I/O的开销最好对那些I/O密集型的作业使用数据压缩hive表的存储格式为    TEXTFILE    SEQUENCEFILE(三种压缩选择:NONE, RECORD, BLOCK。 Record压缩率低,一般建议使用BLOCK压缩)    RCFILE    自定义格式

2016-01-20 19:49:44 28872 1

原创 shell命令执行hive脚本(hive交互,hive的shell编程)

Hive执行方式Hive的hql命令执行方式有三种:1、CLI 方式直接执行2、作为字符串通过shell调用hive –e执行(-S开启静默,去掉”OK”,”Time taken”)3、作为独立文件,通过shell调用 hive –f或hive –i执行执行方式1键入“hive”,启动hive的cli交互模式。Set可以查看所有环境设置参数,并可以重设。其他命令如, Use datab

2016-01-19 15:15:42 56891 4

原创 hive分组排序 取top N

pig可以轻松获取TOP n。书上有例子hive中比较麻烦,没有直接实现的函数,可以写udf实现。还有个比较简单的实现方法:用row_number,生成排名序列号。然后外部分组后按这个序列号多虑,样例代码如下select a.*from( select 品牌,渠道,档期,count/sum/其它() as num row_number() over (partition by 品

2016-01-15 18:43:15 22990

原创 python辅助开发模块(非官方)如pil,mysqldb,openpyxl,xlrd,xlwd

官方文档 只是支持win32,不支持win64所以很麻烦民间高人,集中做了一堆辅助库,下载后,用python安装目录下的scripts中,pip和easy_install就可以安装了python非官方辅助开发模块库:http://www.lfd.uci.edu/~gohlke/pythonlibs/#bitarray如PIL官网http://www.pyth

2016-01-08 11:37:35 1227

原创 hive日志位置(日志定位报错:Failed with exception Unable to move sourcehdfs://namenode/tmp/hive-pmp_bi/h)

Hive中的日志分为两种1. 系统日志,记录了hive的运行情况,错误状况。2. Job 日志,记录了Hive 中job的执行的历史过程。日志查看方法1,在本地运行机器上hive日志存储位置在本机上,不是hadoop上: 在hive/conf/ hive-log4j.properties 文件中记录, 该文件如果没有,就是使用默认,默认的存储情况: hive.ro

2015-12-17 17:17:17 11333

原创 linux的 压缩与解压 命令集

bzip2压缩费时但效果好,而且支持hadoop的hdfs文件切分,gzip不行bzip2 [-cdz] 文件名-c :将压缩的过程输出到屏幕-d :解压缩-z :压缩-# :压缩比的参数,-9最佳最慢,-1最大最快(bzcat可以直接查看bz文件内容)压缩:bzip2 filename = bzip2 -z filenamebzip2 -9 filename解压:bunzip2 fil

2015-12-09 13:50:49 821

原创 hive的strict模式;where,group by,having,order by同时使用的执行顺序

主要限制三种情况(1) 有partition的表查询需要加上where子句,筛选部分数据实现分区裁剪,即不允许全表全分区扫描,防止数据过大(2) order by 执行时只产生一个reduce,必须加上limit限制结果的条数,防止数据量过大造成1个reduce超负荷(3) join时,如果只有一个reduce,则不支持笛卡尔积查询。也就是说必须要有on语句的关联条件,做自然连接。

2015-11-02 18:00:13 6561

原创 转义字符\(在hive+shell以及java中注意事项):正则表达式的转义字符为双斜线,split函数解析也是正则

转义字符将后边的字符转义,各个语言中都用应用,如java、python、sql、hive、shell等等。如sql中 "\"" "\'" "\t" "\n"sql中直接输出 " ' tab键 换行键转义字符的一般应用直接用\加上转义的字符就行了,如java和

2015-10-10 17:46:55 20773 3

原创 hbase 程序优化 参数调整方法

hbase读数据用scan,读数据加速的配置参数为:Scan scan = new Scan();scan.setCaching(500); // 1 is the default in Scan, which will be bad for MapReduce jobsscan.setCacheBlocks(false); // don't set to true for MR

2015-09-10 10:33:47 4373

转载 java多线程的编程实例

java中可有两种方式实现多线程:一种是继承Thread类;一种是实现Runnable接口;Thread类 是在java.lang包中定义的。一个类只要继承了Thread类同时覆写了本类中的run()方法就可以实现多线程操作了,但限制是一个类只能继承一个父类package org.thread.demo; class MyThread extends Thread{ pr

2015-09-09 16:20:06 706

原创 hbase操作(shell 命令,如建表,清空表,增删改查)以及 hbase表存储结构和原理

两篇讲的不错文章 http://www.cnblogs.com/nexiyi/p/hbase_shell.htmlhttp://blog.csdn.net/u010967382/article/details/37878701?utm_source=tuicool&utm_medium=referralhbase操做hbase web操作hbase shell 基本操作1建表具体命令

2015-09-09 16:11:38 67178

转载 sql中InnoDB和MyISAM的区别

InnoDB和MyISAM是许多人在使用MySQL时最常用的两个表类型 1,MyISAM类型的表强调的是性能,其执行数度比InnoDB类型更快,但是不提供事务支持等高级处理,往往被认为只适合小项目;而InnoDB类型支持事物,以及外部键和行级锁等高级数据库功能。2,MyISAM的索引和数据分开,每个MyISAM在磁盘上存储成三个文件。第一个文件的名字为表名,扩展名为文件类型: .frm文件存

2015-08-18 17:25:35 692

原创 java中小数的处理:高精度运算用bigDecimal类,精度保留方法,即舍入方式的指定

一、 计算机的小数计算一定范围内精确,超过范围只能取近似值: 计算机存储的浮点数受存储bit位数影响,只能保证一定范围内精准,超过bit范围的只能取近似值。 java中各类型的精度范围参见:http://blog.csdn.net/longshenlmj/article/details/47616481编程时注意:doulbe类型的数,不能用等号判定是否相等(或者是一定范围内可以)。

2015-08-18 16:29:22 7409

原创 java基本类型(数值范围):浮点的底层表示定义,float计算快一些

Java八种基本类型:六种数字类型(四个整数型,两个浮点型),一种字符类型,一种布尔型。 具体如下1、整数:包括int,short,byte,long 2、浮点型:float,double 3、字符:char 4、布尔:boolean对应空间和范围如下 基本型别 二进制位数 最小值 最大值 包装类 boolean 无 无 无 char 1

2015-08-13 18:02:11 3842

原创 shell的date日期循环方法:日期格式转时间戳计算,再将时间戳转回日期格式

1,日期对象转时间戳current_day 2,计算增量的时间戳,即循环每步的增量one_day 3,循环体计算,日期变量加增量后重新赋值自己 4,时间戳转回日期格式后输出current_day=2015-07-17end_day=2014-01-01#步骤1timestamp_current=`date -d "$current_day" +%s`timestamp_end=`dat

2015-07-31 17:12:12 2795

原创 shell的数值计算,小数计算

shell脚本中,可以进行数值计算,如加减乘除,通过expr、let、(())等完成,文章介绍:http://blog.csdn.net/longshenlmj/article/details/14166193但是上面的运算只支持整数。小数计算怎么办?shell中小数计算 通过bc,awk和nawk工具等完成 使用bc的代码如:click=`awk -F"\t" '$1==

2015-07-28 18:25:23 12280

原创 shell的if嵌套

shell脚本编写中,if是可以嵌套的, 注意,if条件表达式[]中的空格,以及后面的then就行了 if条件表达式后面的分号“;”可有可无,不影响。代码如下myFile='ctr_result.txt'if [ -e "$myFile" ]; then rm $myFile result_code=$? if [ "$result_code"

2015-07-28 18:15:31 16514

转载 quartz 时间设置(定时任务scheduler)

quartz用来设置定时任务的作业调度程序。在linux的crontab中用到。格式为: * * * * * * *其从左到右顺序代表 :[秒] [分] [小时] [日] [月] [周] [年] (自己懒得写,摘一篇网上的, 转自:http://www.cnblogs.com/skyblue/p/3296350.html)序号 说明 是否必填 允许填写的值 允许

2015-06-23 17:34:43 2035

原创 java的list几种实现方式的效率(ArrayList、LinkedList、Vector、Stack),以及 java时间戳的三种获取方式比较

一、list简介List列表类,顺序存储任何对象(顺序不变),可重复。List是继承于Collection的接口,不能实例化。实例化可以用: ArrayList(实现动态数组),查询快(随意访问或顺序访问),增删慢。整体清空快,线程不同步(非线程安全)。数组长度是可变的百分之五十延长 LinkedList(实现链表),查询慢,增删快。 Vector(实现动态数组),都慢,被

2015-06-04 17:39:27 7815

原创 pig里面没有if:不能判断一个条件后决定一个执行步骤

pig是处理流 的工具,所以数据集是流对象,处理步骤也是一样的。  Pig中存在按条件处理流对象的方式有1)filterX= FILTER A BY (f1 == 8); 2)CASE WHEN THEN ELSE END    CASE expression [ WHEN value THEN value ]+ [ELSE value ]? END 3)B

2015-05-06 15:53:49 2687

原创 pig脚本不需要后缀名(python tempfile模块生成pig脚本临时文件,执行)

pig 脚本运行不需要后缀名pig脚本名为tempfile,无后缀名用pig -f tempfile 可直接运行另外,pig tempfile也可以直接运行这样就可以用python临时文件存储pig脚本内容直接调用python调用pig脚本的一种方式将pig脚本用任意文件存储,执行时写入python的临时文件(tempfile模块操作),执行结束后删除。执行过程: 用tempfile模

2015-05-05 11:16:42 1460

转载 linux service 简单易懂贴

service用于管理Linux操作系统中服务的命令1.不是在所有linux发行版本中都有。主要是在redhat、fedora、mandriva和centos中。2. 命令位于/sbin目录下,用file命令查看此命令会发现它是一个脚本命令。3. 分析脚本中命令,主要作用是去/etc/init.d目录下寻找相应的服务,进行开启和关闭等操作。4. 开启httpd服务器

2015-05-04 15:43:01 806

原创 hive编程指南——读书笔记(无知拾遗)

set hive.metastore.warehouse.dir=/user/myname/hive/warehouse;用户设定自己的数据仓库目录。不影响其他用户。也在$HOME/.hiverc中设置,则每次启动hive自动加载hive -(d,ef,H,h,i,p,S,v)定义变量var,在hql中直接引用${var}set (显示或修改)

2015-04-30 10:17:40 1472 2

原创 hive中使用case、if:一个region统计业务(hive条件函数case、if、COALESCE语法介绍:CONDITIONAL FUNCTIONS IN HIVE)

前言:Hive ql自己设计总结1,遇到复杂的查询情况,就分步处理。将一个复杂的逻辑,分成几个简单子步骤处理。2,但能合在一起的,尽量和在一起的。比如同级别的多个concat函数合并一个select也就是说,字段之间是并行的同级别处理,则放在一个hive ql;而字段间有前后处理逻辑依赖(判断、补值、计算)则可分步执行,提前将每个字段分别处理好,然后进行相应的分步简单逻辑处理。一、 场景:日志中

2015-04-28 17:40:48 28764 1

原创 sql的简单提高效率方法

少用in操作(效率极差),尽量用表关联代替尽量有where(减少读取量),where操作列尽量有索引(加快查询)    (mysql索引使用B-Tree数据结构对特定列额外组织存放,加快存储引擎查找记录的速度,不需回表查询数据的就是聚簇索引(索引和数据存放在一起)。通常是需要回表再查数据,需要消耗额外的磁盘IO。)主键是特殊的唯一索引(不含null),唯一索引更好用复合索引设计合理

2015-04-23 16:18:01 1433

转载 sql的索引:网上看到不错,整理成自己的东西

数据库建立索引可以提高查询速度。假如我们创建了一个 mytable表:CREATE TABLE mytable(ID INT NOT NULL,username VARCHAR(16) NOT NULL  );  随机向插入了10000条记录,其中有一条:5555, admin。在查找username="admin"的记录 SELECT * FROM mytable WHERE usern

2015-04-23 15:38:24 761

原创 python进行md5加密

代码函数import hashlibdef md5(str): m = hashlib.md5() m.update(str) return m.hexdigest()f = open('idfa.csv','r')result = open('test.csv','w')for line in f.readlines(): encrypt

2015-04-22 12:01:26 1521

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除