- 博客(15)
- 收藏
- 关注
原创 【Linux】文件属性查看详解
使用ls -al 查看当前目录下所有文件属性,输出如下:drwxr-xr-x 3 root root 4096 Sep 23 19:43 .dr-xr-x---. 32 root root 12288 Oct 12 14:28 ..-rw-r--r-- 1 root root 0 Sep 18 15:56 attrtestdrwxr-xr-x 3 root root 4096 Sep 22 11:29 Asher-rw-r--r-- 1 root root 52
2020-10-14 20:57:24 816
原创 【Hive】distinct on different columns not supported with skew in data
今天运行hive时候报错,如下:distinct on different columns not supported with skew in data由于对多个列执行去重操作导致,如以下代码:select id, count(distinct col1) as cnt1, count(distinct col2) as cnt2 from table_name group by id报这个错误的原因与hive的环境变量hive.groupby.skewindata相关默认情况下
2020-10-14 20:49:04 3306
原创 【Python】移动、复制文件到另一个文件夹、删除文件(夹)
引入shutil模块import shutil复制或移动到目的文件夹下面shutil.copy('demo.txt','新的文件夹')file1.txt 移动到 新的文件夹 下面shutil.move('file1.txt','新的文件夹')复制或移动到目的文件夹下面之后,重命名shutil.copy('demo.txt','新的文件夹/new1.txt')shutil.move('file2.txt','新的文件夹/new2.txt')导入os模块import os删除 f
2020-10-14 20:45:50 27711
原创 【python3】写入excel文件(设置字体型号、边框样式、单元格对齐方式、合并单元格,列宽、行高等)
主要使用xlwt扩展包import xlwt创建workbook(Excel文件)workbook = xlwt.Workbook(encoding = 'utf-8')添加sheetsheet = workbook.add_sheet('sheetname')写入数据#格式:sheet.write(m,n,data),表示在第m行n列写入数据data#注意:m和n从0开始sheet.write(1,0,'第一行第0列')合并单元格,并写入数据#格式:#sheet.write_
2020-10-12 21:11:16 2270
原创 【Python】将xls格式转换为xlsx格式
Python批量将xls格式转换为xlsx格式,使用下面代码即可import win32com.client as win32fname = r'excelname.xls'excel = win32.gencache.EnsureDispatch('Excel.Application')wb = excel.Workbooks.Open(fname)wb.SaveAs(fname+"x", FileFormat = 51) #FileFormat = 51 is for .xlsx ext
2020-10-12 21:00:45 3030 1
原创 【Hive】missing KW_END at ‘)‘ near ‘<EOF>‘
报错:missing KW_END at ')' near '<EOF>'原因:case when 后面没写end
2020-10-09 15:41:00 5507
原创 【Excel】单元格输入换行符、替换换行符
(1)在单元格中输入换行符方法:Alt+Enter(2)替换换行符:Ctrl+H 打开替换,然后在“查找内容”中输入Alt+1+0(按着不放),即可看到闪动的小黑点,即可替换ps:如果excel中有换行符,但是出现查找不到的情况,可以关掉所有的excel再打开要替换的试一下...
2020-10-09 15:35:47 12051 1
原创 【Hive】数据倾斜原因及解决方法汇总
(1)数据倾斜根本原因:由于数据分布不均匀,导致map端读取的数据分布不均匀(数据长尾分布),从而使得map处理的数据量差异过大。(2)解决思路:Hive是分阶段执行的,map处理数据量的差异取决于上一个stage的reduce输出,所以解决的根本方法就是如何将数据均匀的分布到各个reduce中(3)出现数据倾斜的主要操作:(a)join:使用join时,一个表较小,但是key值集中,使得数据在分发到各个reduce中的时候,某一个或几个reduce的数据远大于平均值(b)join:大表与大表joi
2020-10-09 15:34:02 4125
原创 【Hive】sort by、order by、 distribute by、 group by 、cluster by区别
(1)order by是将所有数据放在一个reduce里面进行排序,当数据量大时,会出现内存溢出的问题,同时数据排序效率低。另外,可以在sort by后面加上limit n来实现top n操作。(2)sort by是将数据放到多个reduce里面进行排序,排序后每一个reduce里面的数据是有序的,但是全部数据不一定有序。如果reduce个数为1,此时全部数据有序,等价于order by操作。当需要对全部数据排序时: (a)直接使用order by进行全局排序,效率低下。 (b)可以先使用so
2020-10-09 15:31:54 1273
原创 【Hive】常见优化方法
列裁剪select后面跟要选择的列,由于hive中数据采用列式存储,选择需要的字段可加快字段的读取、减少数据量。(节省了读取开销,中间表存储开销和数据整合开销)分区裁剪where条件第一个为分区字段,多值group by如果group by后面有多个字段时,将更多值的字段放在前面,如group by有user_id和sex两个字段,应该是group by user_id、sexorder byorder by时尽量使用limit,尽量避免使用order by。Order by需要扫描数据到单.
2020-10-09 15:29:10 224
原创 【Hive】时间相关函数
(1)获取当前时间在Mysql中获取当前时间,可以直接使用now()函数,输出为yyyy-MM-dd HH:mm:ss格式日期,如下:eg:select now()>2020-09-02 14:19:49在Hive中输出当前日期函数为current_date()函数,如下:eg:select current_date()>2020-09-02在Hive中还可以通过current_timestamp()函数输出时间,如下:eg:select current_timestamp(
2020-10-09 15:24:17 340
原创 【Hive】union和union all
union和union all均为拼接查询结果,不同点在于union会对结果去重,而union all不会对结果去重。如果不需要去重时,建议使用union all,因为union会对两个或多个sql查询结果去重,这一过程可能会引发内存问题。必须去重时,建议使用distinct+union all 代替union。eg: select 'a' union select 'a'>output:aeg: select 'a' union all select 'a'>out
2020-10-09 15:19:49 689
原创 【Hive】字符串替换函数translate和regexp_replace
Hive中,想要替换字符串中的子字符串,可以使用translate和regexp_replace两个函数,具体如下:translate函数格式:translate(string|char|varchar input, string|char|varchar from, string|char|varchar to)--即将input出现在from中的字符串替换成to中的字符串eg:select translate('Asher117','Asher','Viva')>Viva117
2020-10-09 15:17:28 27069
原创 【Hive】if函数用法
Hive的if函数是一个条件判断函数,但判断条件为True时,返回valueTrue,否则返回valueFalseOrNull,如下:格式:if(boolean testCondition, T valueTrue, T valueFalseOrNull)eg:select if(1>2,1,2)>2
2020-10-09 15:10:11 5689
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人