- 博客(110)
- 资源 (23)
- 收藏
- 关注
原创 Hive小文件合并
为什么要合并小文件1.每个文件在NameNode中的存储信息大约占150字节,会影响NameNode存储其他有用的文件信息,因为NameNode的容量是固定的2.如果文件过小,每个文件的大小远低于128M,每个文件作为一个分片输入,就会对应相应数量的MapTask,浪费资源,效率低下,因为MapTask的开启也是耗时的如果输入是小文件,需要合并输入的话hive.input.format=org.apache.hadoop.hive.ql.io.CombineHiveInputFormat
2021-03-26 18:21:29
449
原创 hive的group by的with cube、with rollup、 grouping sets()
准备数据create table du_test1 ( f1 string, f2 string, f3 string, cnt int);insert into table du_test1 VALUES ('A', 'A', 'B', 1),('B', 'B', 'A', 1),('A', 'A', 'A', 2);with cube:维度全组合selectf1, f2, f3, sum(cnt),GROUPING__IDfrom
2021-03-23 16:26:04
1555
原创 文件权限drwxr-xr-x
文件权限解释权限的计算是除去第一位字母开始,权限都是三个符号为一组合,其中-表示没有这个权限d:第一位表示文件类型。d是目录文件,l是链接文件,-是普通文件,p是管道 rwx:第2-4位表示这个文件的属主拥有的权限,r是读,w是写,x是执行。 r-x:第5-7位表示和这个文件属主所在同一个组的用户所具有的权限。 r-x:第8-10位表示其他用户所具有的权限。 drwxr-xr-x user1 group1 filename表示filename是个目录,user1...
2021-03-22 00:07:58
2381
原创 nohup命令
nohup(no hang up不挂断)如果你正在运行一个进程,而且你想要在退出账户后该进程还不会结束,就可以使用nohup命令。该命令可以在你退出账户或者关闭中断之后继续进行相应的进程。一般用法,在缺省情况下该作业的所有输出都被重定向到一个名为nohup.out的文件中nohup command &当然也可以将输出结果重定向到其他文件,如myout.filenohup command > myout.file 2>&1 &在上面的
2021-03-22 00:04:42
224
原创 hive解析json解析
-- {-- "name":"zhangsan",-- "friends":["lisi","wangwu"], -- "children":{-- "alice":18,-- "tom":19-- },-- "address":{-- "street":"W Jefferson Blvd",-- "city":"Los Angeles"-- }-- }select json_tuple('{ "name":"zhangsan", ".
2021-03-21 23:50:52
247
原创 hive建表语句
create table dwd.tmp_table ( ti tinyint, sl smallint, i int, bi bigint, bl boolean, fl float, db double, st string, ts timestamp, ba binary comment '字节数组', ar array<string>, mp map<string, float>.
2021-03-21 23:44:51
563
原创 hive时间函数
hive (dwd)> select unix_timestamp();--select current_timestamp();1616338251hive (dwd)> select unix_timestamp('2021-03-21 22:50:51');1616338251hive (dwd)> select unix_timestamp('2021-03-21', 'yyyy-MM-dd');1616256000hive (dwd)> selec...
2021-03-21 23:32:51
157
原创 MAC显示文件夹和文件
显示隐藏文件夹和文件defaults write com.apple.finder AppleShowAllFiles -boolean true ; killall Finder再次隐藏defaults write com.apple.finder AppleShowAllFiles -boolean false ; killall Finder
2021-01-26 17:56:02
223
原创 PRESTO的VALUES使用
概要VALUES row [, ...]其中, `row`是一个表达式,或者是如下形式的表达式列表:( column_expression [, ...] )描述定义一张字面内联表。任何可以使用查询语句的地方都可以使用VALUES, 如放在SELECT语句的FROM后面,放在INSERT里,甚至放在最顶层。VALUES默认创建一张匿名表,并且没有列名。表名和列名可以通过AS...
2020-05-08 16:04:11
1654
原创 hive优化笔记
大小表关联set hive.auto.convert.join = true;--大表关联小表,把小表自动加载到内存中,相当于写了一个mapjoinset hive.mapjoin.smalltable.filesize=25000000; --默认值是25mb--是否自动转换为mapjoinset hive.auto.convert.join = true;--小表的最大...
2020-01-03 15:43:19
480
转载 DQL、DML、DDL、DCL的概念与区别
目录一. 简介二. SQL语言的分类1. 数据查询语言DQL2 .数据操纵语言DML3. 数据定义语言DDL4. 数据控制语言DCL三. 数据提交(1) 显式提交(2) 隐式提交(3) 自动提交一. 简介SQL(Structure Query Language)语言是数据库的核心语言。SQL是一个标准的数据库语言,是面向集合的描述性非过程化...
2019-07-30 10:47:19
565
原创 HIVE的URL解析
目录从url返回PROTOCOL从url返回HOST从url返回PATH从url返回QUERY从url返回QUERY中指定的参数的值从url返回FRAGMENT标识符从url返回FILE从url返回AUTHORITY从url返回USERINFOEvery HTTP URL conforms to the syntax of a generic URI....
2019-07-26 19:00:53
9172
原创 PRESTO的URL解析
目录url_extract_protocolurl_extract_hosturl_extract_porturl_extract_pathurl_extract_queryurl_extract_fragmenturl_extract_parameterURL方法用于从HTTP URLs(或者是任何满足RFC 2396标准的有效URIs)中提取相应的信息。U...
2019-07-25 18:35:07
4566
1
原创 HIVE正则(like、rlike、regexp、regexp_replace、regexp_extract)
目录LIKERLIKEREGEXPREGEXP_REPLACEREGEXP_EXTRACTLIKE语法1: A LIKE B 语法2: LIKE(A, B)操作类型: strings返回类型: boolean或null描述: 如果字符串A或者字符串B为NULL,则返回NULL;如果字符串A符合表达式B的正则语法,则为TRUE;否则为FALSE。B中字符"_...
2019-06-11 15:37:30
67899
2
原创 自定义Shell命令
以自定义ll命令为例:1. 编辑.bash_profile文件命令如下:liuhongdeMacBook-Pro:~ liuhong$ vim .bash_profile打开之后在末尾添加:alias ll='ls -alF'然后保存退出2. 输入source .bash_profile命令如下:liuhongdeMacBook-Pro:~ liuh...
2019-05-08 11:12:43
1304
原创 Display all 478 possibilities? (y or n)
问题:复制了一段hive QL运行,报错Display all 478 possibilities? (y or n)报错原因:包含大量的tab缩进解决方法:删除tab缩进即可,我是用编辑器查找的tab,全局替换为无即可...
2019-04-25 10:26:00
3670
1
原创 vi命令
vi 和vim 的区别它们都是多模式编辑器,不同的是vim 是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面。vim的优势主要体现在以下几个方面:1、多级撤消我们知道在vi里,按 u只能撤消上次命令,而在vim里可以无限制的撤消。2、易用性vi只能运行于unix中,而vim不仅可以运行于unix,windows ,mac等多操作平台。3、语法加亮vim可...
2019-04-23 18:56:33
274
原创 HiveQL动态参数值的使用
set begin_date = '2018-01-01';--设置变量 select ${hiveconf:begin_date};--使用变量
2018-12-17 09:29:59
2047
1
原创 FAILED: Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask
原因:分配的分区超出了设置 1.将数据分成若干组插入分区,如先插入后半年的分区,再插入前半年的分区2.或者可以在当前会话中修改临时配置,设置一次可以插入的分区数set hive.exec.max.dynamic.partitions.pernode=500; ...
2018-12-06 10:48:31
3135
原创 hive中select排除某些列名
排除num列set hive.support.quoted.identifiers=none;select`(num)?+.+`from (select row_number() over (partition by uid order by pay_time asc) as num ,* from order) first_orderwhere n...
2018-12-03 11:33:01
12890
转载 android中无法在华为手机输出Log.v和Log.d级别的日志
需要打开华为手机的相关Log开关,具体步骤如下:进入拨号界面输入:*#*#2846579#*#* 依次选择ProjectMenu---后台设置----LOG设置---LOG开关 点击打开, 然后在LOG级别选VERBOSE(或者直接勾选AP日志) 重新启动手机...
2018-10-09 15:38:21
780
原创 java.lang.IllegalArgumentException: URLDecoder: Illegal hex characters in escape (%) pattern:%刷卡
在使用URLDecoder.decode方法进行解析的时候,解析时的字符串是“20%刷卡金”,出现了下面的问题:java.lang.IllegalArgumentException: URLDecoder: Illegal hex characters in escape (%) pattern:%刷卡我们进入decode方法查看源码,会发现对 % 和 + 这两个字符做了特殊处理。解决方法(参照A...
2018-05-31 09:39:08
2984
转载 git crlf换行符的问题解决
问题:You are about to commit CRLF line separators to the Git repository.It is recommended to set the core.autocrlf Git attribute to input and and avoid line separator issues.问题描述:项目组现在用git做版本控制,使用中遇到不同平...
2018-03-18 19:45:28
17216
原创 Error:Failed to open zip file.
Error:Failed to open zip file. Gradle's dependency cache may be corrupt (this sometimes occurs after a network connection timeout.)解决方法:第一步:在AndroidStudio中的Show log in Finder中,查看log日志,在文档中搜索“https://s...
2018-03-18 19:29:33
492
原创 Mac电脑修改账户名称和个人目录后丢失管理员权限问题
新Mac本,修改了管理员的名字之后,变成了普通用户,导致管理员账户丢失。在网上找的解决方案,完成之后会新建一个管理员账户,可行:第一步,先关机,然后按开机键并且同时按住command+s;第二步,输入之前的开机密码,等待电脑启动,随后电脑会出现终端;第三步,按顺序输入每行的指令敲回车循环下去:/sbin/mount -uawrm var/db/.applesetupdonereboot...
2018-03-01 09:20:51
1742
原创 10个台阶,每次只能上1个或者2个,一共有多少种走法
思路来得太慢,好想拿小锤锤捶自己哟~~~第一种,递归思路。如果你上10个台阶,可以分解成下面两种情况:● 上9个台阶,最后上1个台阶。假设这种情况下,上前面9个台阶的方法数为m。● 上8个台阶,最后上2个台阶。假设这种情况下,上前面8个台阶的方法数为n。所以,上10个台阶的方法数,其实就是 m + n。可以递归为:f(n) = f(n - 1) + f(n - 2...
2018-01-14 17:48:10
40930
4
转载 Flowable读取文本文件
public void readText() { final TextView textView = (TextView) findViewById(R.id.textView); final File directory = Environment.getExternalStorageDirectory(); final StringBuffer
2017-12-20 19:31:49
577
原创 Android面试篇之Service和IntentService的区别
相同点● IntentService继承自Service,因而两个都是服务不同点● IntentService内部开启了一个HandlerThread线程,然后使用此线程的Looper构造了一个Handler对象,在这个线程中执行Handler对象发送的消息。IntentService可以执行耗时任务。普通的Service如果不开启子线程的话是不能执行耗时任务的,会造成ANR。
2017-12-20 09:45:58
651
原创 Android多线程之HandlerThread
HandlerThread简介HandlerThread继承自Thread,所以本质上HandlerThread是一个线程类。HandlerThread是一种可以使用Handler的Thread。HandlerThread在内部创建了消息队列,外界通过Handler的消息方式来通知HandlerThread执行一个具体的任务。HandlerThread使用
2017-12-19 19:38:36
609
原创 Android面试篇之软引用和弱引用的区别
软引用所指向的对象要进行回收,需要满足两个条件:● 没有任何强引用 指向 软引用指向的对象(内存中的Person对象)● JVM需要内存时,即在抛出OOM之前即SoftReference变相的延长了其指示对象占据堆内存的时间,直到虚拟机内存不足时垃圾回收器才回收此堆内存空间。弱引用所指向的对象要进行回收,只需要满足条件:● 没有任何强引用 指向 弱引用指向的对象(内存中
2017-12-17 17:33:58
1130
原创 Android面试篇之ArrayList和LinkedList的区别
● 数据结构ArrayList基于动态数组;LinkedList基于链表● 随机访问ArrayList优于LinkedList,因为LinkedList要移动指针来查找,下面以get方法为例 //ArrayList的get方法,直接从数组中获取元素值 public E get(int index) { if (index = t
2017-12-17 13:47:32
753
原创 Android面试篇之多线程[线程之间的通讯]
● Thread + Handler 多用于 子线程执行耗时操作后,通知UI线程进行更新● AsyncTask 封装了线程池 + Handler,也多用于 子线程执行耗时操作后,通知UI线程进行更新● IntentService 封装了线程的Service,使其更方便地执行后台任务● HandlerThread 具
2017-12-15 17:04:07
556
原创 Android面试篇之IPC机制[进程之间的通讯]
简介IPC Inter-Process Communication 跨进程通讯,两个进程之间进行数据交换的过程在Android中的多进程一般指一个应用中存在多个进程的情况,下面讨论一个应用中多进程的情况。开启多进程的方式在AndroidManifest.xml文件中,给四大组件指定android:process属性即可,值为进程的名称,如下 <serv
2017-12-15 14:23:00
596
原创 设计模式理解之观察者模式
简介IPC Inter-Process Communication 跨进程通讯,两个进程之间进行数据交换的过程在Android中的多进程一般指一个应用中存在多个进程的情况,下面讨论一个应用中多进程的情况。开启多进程的方式在AndroidManifest.xml文件中,给四大组件指定android:process属性即可,值为进程的名称,如下 <servic
2017-12-15 10:16:26
387
原创 Android面试篇之Serializable和Parcelable的区别
Serializable如何实现只需要实现Serializable接口并在类中声明serialVersionUID即可public class Student implements Serializable { //serialVersionUID,用来保证正常反序列化 private static final long serialVersionUID =
2017-12-14 15:39:40
653
原创 Android面试篇之进程与线程的区别
进程● 程序运行的基本单元● 资源分配和拥有的基本单位● 有自己独立的地址空间● 多个进程可并发执行线程● 比进程更小的程序运行的基本单元● CPU调度和分派的基本单位● 没有独立的地址空间,多个线程共享地址空间● 多个线程可并发执行,某一个线程可以创建和撤销另外的线程进程和线程的区别● 都可以并发执行
2017-12-14 14:03:12
601
原创 Android多线程之IntentService
1. IntentService继承自Servicepublic abstract class IntentService extends Service {2. Service不是一个单独的进程,它和应用程序在同一个进程中A Service is not a separate process. The Service object itself does not imply i
2017-12-14 12:23:19
446
原创 Android面试篇之Activity与Fragment、Fragment与Fragment之间的通信
Activity与FragmentActivity向Fragment通信① 拿到Fragment的引用,直接调用其public方法。② 如果Activity中未保存任何Fragment的引用,每个Fragment都有一个唯一的TAG或者ID, 可以通过getFragmentManager.findFragmentByTag()或者findFragmentById()获得任何Fr
2017-12-13 21:05:34
612
转载 Android面试篇之View和ViewGroup的关系
View和ViewGroup的关系View是Android中所有控件的基类。ViewGroup继承自View,控件组,可以包含若干个View。View本身既可以是单个控件,也可以是由多个控件组成的一组控件。总结一般来说,开发Android应用程序的UI界面都不会直接实用View和ViewGroup,而是使用这两大基类的派生类。● Vie
2017-12-13 20:35:20
1200
axure rp 8
2018-07-16
MemoryAnalyzer-1.7.0.20170613-macosx.cocoa.x86_64.zip
2017-09-22
Charles for Mac 3.9.1
2017-09-21
Charles for Mac 3.8.1
2017-09-21
两端对齐的TextView
2016-01-22
SlidingMenu.jar
2015-12-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人