自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

mypowerhere的专栏

this is a place for Redemption.

  • 博客(85)
  • 资源 (7)
  • 收藏
  • 关注

原创 Spark产生小文件的原因及解决方案

Hadoop集群中的文件都是以块(Block)的形式存储在分布式文件系统(HDFS)中的,而Block的默认大小设置随着Hadoop的版本迭代经历了64MB、128MB、256MB,其大小实际受制于磁盘/网络的传输速率。当Block的大小为128MB时,若一个文件的大小显著小于128MB,我们就称之为小文件。

2024-04-08 16:45:52 961

原创 Hadoop 常用命令

【代码】Hadoop 常用命令。

2024-03-25 18:37:44 112

原创 Spark & Hive 执行sql文件

【代码】Spark & Hive 执行sql文件。

2024-03-25 18:25:51 123 1

原创 Python 代码执行超时判断

【代码】Python 代码执行超时判断。

2023-07-14 10:11:19 1033

原创 python列表映射相关

Python 3.x 返回迭代器。Python 2.x 返回列表。

2023-07-12 11:32:10 329

原创 python动态重载模块

https://www.cnblogs.com/phyger/p/12492216.htmlPython3 reload() 函数 | 菜鸟教程

2023-07-12 11:30:51 147

原创 Python查看已安装模块

【代码】Python查看已安装模块。

2023-05-15 10:36:00 185 1

原创 Python读取/设置Linux环境变量

Python读取/设置Linux环境变量

2022-11-23 10:36:27 2668

原创 Hive新增/变更字段后,Hive metastore与Hive tblproperties缓存的spark schema不一致处理

Hive新增/变更字段后,Hive metastore与Hive tblproperties缓存的spark schema不一致处理

2022-07-13 10:45:53 1427

原创 XShell批量发送命令至多个会话

近期有个每周批量重启服务的需求,因为涉及的服务器节点有十几个,并且要区分主节点和子节点,每次都要挨个提交一遍重启命令(关闭服务需要先执行子节点,再执行主节点;启动服务反之),繁琐且耗时。遂发现XShell支持[快速命令]执行[到当前会话]、[当前标签组]、[全部会话],高效解决该问题。...

2022-06-20 16:17:56 8406

原创 数仓拉链表逻辑

全量拉链1、数从源库抽取全量数据,存储于数仓源层表的当日分区(SA表)2、将数仓源层表当日分区的全量数据,转储进历史层当前表(SH表)3、处理数仓历史层拉链表(SH_H表):将存在于数仓历史层拉链表(SH_H表)中,但是不存在于历史层当前表(SH表)的数据,进行关链(开链日期不变,关链日期为当天)4、处理数仓历史层拉链表(SH_H表):将存在于数仓历史层拉链表(SH_H表)中,并且存在于历史层当前表(SH表)的数据(该部分数据是未更新或新增的数据,开链日期不变,关链日期为永久有效),UNION

2022-05-18 18:43:18 264

原创 Hive建库浅析

建库create database if not exists db_temp;显示已创建的库--显示所有库show databases;--显示指定库show databases like '*temp*';查询当前库select current_database();删库(删库需谨慎,否则只能跑路了=_=)drop data if exists db_temp;...

2022-04-26 16:18:13 1603

原创 Hive建表及插入数据浅析

通过已有表创建新表(仅创建表结构)create table new_table like old_table;通过已有表创建新表,并复制已有表数据create table new_table as select * from old_table;建表后,直接插入数据--建表create table table_name ( id int ,name string)--插入数据insert into table_name values(1,'colin');建表后,通过

2022-04-26 15:34:26 4263

原创 Hive建表语句浅析

CREATE [EXTERNAL] TABLE [IF NOT EXISTS] table_name[(column_name data_type [COMMENT column_comment], ...)][COMMENT table_comment][PARTITIONED BY (column_name data_type [COMMENT column_comment], ...)][CLUSTERED BY (column_name1, column_name2, ...)][SOR.

2022-04-25 18:29:56 1684

原创 Hive内表和外表浅析

内表由hive完全管理生命周期(元数据+数据);外表hive只管理元数据的生命周期; 内表删除后,会同步删除元数据(metadata)及数据;外表删除后,仅删除元数据,hdfs上的存储数据文件不会被删除; 内表修改会直接同步给元数据,外表修改(元数据及分区),需要修复表(MSCK REPAIR TABLE table_name) 内表不加external关键字修饰;外表加external关键字修饰; 内表数据存储位置默认是hive.metastore.warehouse.dir(路径:/user/h

2022-04-25 16:50:07 1758

原创 Spark Sql常用函数

current_date() 当前日期select current_date();--2022-02-22now() 或 current_timestamp() 当前时间select now();select current_timestamp();--2022-02-22 22:22:22datediff(endDate, startDate) 日期相差天数select datediff('2022-02-22','2022-02-20');--2months_bet...

2022-04-12 11:34:57 5251

原创 Mysql登录连接、查询、备份等常用命令(一篇概全)

连接mysql数据库mysql -u 用户名 -p 密码 -h 主机IPmysql -u root -p 123456 -h 10.77.77.77或mysql -uroot -p123456 -h10.77.77.77注:一般安全起见不直接输入密码明文,仅输入-p,后在命令提示符下输入密码获取表索引信息show index/keys from 表名;show index from TABLE;show keys from TABLE;获取某日期之前/之后N天/月的日期

2022-04-12 10:18:43 613

原创 Oracle关于date类型的查询方式及效率浅析

背景:数仓ETL环节通过sqoop抽取某个Oracle业务表时,突然在某天提示sqoop导出错误,重试仍然失败。经过查询源库发现当前增量抽取sql耗时特别久,涉及oracle数据库date类型比较时的查询效率问题。原始增量查询sqlselect * from ora_table where to_char(update_time,'yyyymmdd') = '20220222';注:在Oracle源库update_time字段为date类型,上述sql意为取2022-02-22一天的记录问题

2022-03-24 10:44:49 8440

原创 Excel查找重复行

如果表格中有重复行,需要快速定位重复行先选中要比对内容,菜单—开始—条件格式—突出显示单元格规则—重复值确认后,即可以重复行内容

2022-03-15 18:02:20 2973

原创 Python提示IndentationError: unindent does not match any outer indentation level

原因python语法在代码对齐中,不能混用空格和制表符(Tab)在notepad++中,可以通过“视图”—“显示符号”—“显示空格与制表符”,查看代码对齐方式可以看到代码中使用了空格和制表符混用代码对齐方式统一后即可正常执行脚本...

2022-03-15 17:31:53 905

原创 Excel删除空行

使用场景:当你要进行筛选某列时,由于数据存在空行,被空行分割的内容无法被筛选到,这时候需要先把空行删除掉,再进行筛选筛选内容存在空行此时筛选不能包含全部内容通过ctrl+g,打开定位,选择“定位条件”选择“空值”,确定此时空行会被选中,在任一空行上面右键,删除选择删除“整行”,确定删除完空行后,再次进行筛选,发现就能选择全部内容了...

2022-03-15 16:21:28 768

原创 Excel字符串拼接

使用&符号字符串1 字符串2 &拼接 拼接结果 awe some =A1&"-"&B1 awe-some 使用concatenate函数=concatenate(text1, [text2], ...)字符串1 字符串2 concatenate函数拼接 拼接结果 awe some =concatenate(A1,"-",B1) awe-some 其他...

2022-03-15 13:49:48 805

原创 Excel字符串截取

left=left(text, [num_chars])注:从给定文本左侧开始截取特定长度的字符(默认截取1个字符)文本 函数 函数结果 awesome =left(A1) a awesome =left(A1,3) awe right=right(text, [num_chars])注:从给定文本右侧开始截取特定长度的字符(默认截取1个字符)文本 函数 函数结果 awesome =right(A1) e

2022-03-15 11:00:24 1150

原创 Shell 将传参字符串按指定分隔符拆分成数组,并遍历处理

shell默认多个传参值是以空格为分隔符的$ cat show_var.shfor i in $@do echo $idone#在shell中$*和$@都是内置变量,表示整个参数列表$ sh show_var.sh apple banana cherryapplebananacherry如果传参是个字符串,并且能够以特定字符进行分割,则需要用到shell的另一个内置变量$IFS注:IFS(Internal Field Seprator),内部域分隔符,是shell的内..

2022-01-30 15:02:34 5050

原创 Shell中$开头的内置变量

$0shell脚本自身名称$1~$nshell传参值,$1第一个参数,$2第二个参数,以此类推$#shell传参个数(从$1参数开始计算)$*shell传参的整个列表("$*" 使用双引号包含时,仍将所有参数看做一个整体)$@shell传参的整个列表("$@" 使用双引号包含时,将每个参数都看做一个独立数据)$$shell本身的pid(ProcessID)$?shell最后一次命令执行的返回值(0为正常退出,非0为异常退出)示例:$ cat show_va

2022-01-30 11:46:35 1727

原创 Linux下遍历读取文件内容

通过while循环读取$ cat test.txtapple 1banana 2chery 3$ cat myread.shwhile read linedo echo $linedone < test.txt$ sh myread.shapple 1banana 2chery 3或者直接在命令行执行while命令(需要使用分号;来区分代码块)$ while read line; do echo $line; done < te

2022-01-28 15:48:03 2204

原创 Shell常用

shell

2022-01-28 14:55:39 940

原创 Linux下ftp常用命令

上传 下载get FILENAME 下载单个文件mget FILENAME1 FILENAME2... 下载多个文件注:多文件下载时默认会对每个文件进行交互确认,通过prompt设置ftp模式,以关闭交互模式其他

2021-11-18 23:26:14 705

原创 Excel获取某字符在单元格最后一次出现的位置

函数=FIND("@",SUBSTITUTE(A1,"/","@",LEN(A1)-LEN(SUBSTITUTE(A1,"/",""))))思路首先,了解SUBSTITUTE函数的参数含义SUBSTITUTE(需要替换的文本,旧文本,新文本,替换第N个旧文本)最后一个参数,指定需要替换第几个就文本首先,我们获取需要替换的字符在整个字符串中出现了几次=FIND("@",SUBSTITUTE(A1,"/","@",LEN(A1)-LEN(SUBSTITUTE(A1,"/",""))))

2021-10-27 19:11:11 7991

原创 Linux日志输出

> 覆盖输出日志内容 >> 追加输出日志内容

2021-10-19 10:42:25 349

原创 Windows右键添加应用打开方式

适用场景针对多目录下需要使用同一个应用进行处理的情况,譬如一些加/解密操作场景,需要进行加/解密的文件通常分布在多个目录下,假如需要使用*.bat批处理对其他文件进行加/解密操作,每次都需要拷贝文件到处理目录下,比较耽误事,直接将*.bat添加至右键,就可以解决这个问题解决方案1、打开注册表 win + r(输入regedit)2、进入HKEY_CLASSES_ROOT/*/shell目录3、shell右键→新建→项(譬如命名decode)4、decode右键→新建→项(命名comman

2021-07-16 18:11:23 1154

原创 各数据库查询前N条记录

ORACLE select * from table where rownum <= N;MySQLselect * from table limit N;SQL SERVER select top N * from table;PostgreSQLselect * from table limit N;INFORMIXselect first N * from table where rownum ...

2021-07-12 17:42:31 130

原创 ORACLE存储过程RECORD数据类型的使用

RECORD记录数据类型是将多个基本数据类型组合成一个整体,作为一个复合数据类型使用

2020-11-18 19:37:32 3844

原创 ORACLE存储过程的异常处理

默认异常捕获create or replace procedure p_excepisbegin --存储过程执行... exception when others then --异常发生时执行(如输出异常信息、插入日志,数据库回滚等) dbms_output.put_line(sqlcode); dbms_output.put_line(sqlerrm); --sqlcode和sqlerrm是oracle内置函数,用于返回错误代码及描述

2020-11-16 16:12:16 4127

原创 ORACLE存储过程使用execute immediate执行动态SQL

使用execute immediate动态sql拼接a.intorgcode = '''||para_intorg1(l)||'''a.item = '||para_item(j)||' max(x.'||para_sub_item(k)||')其他使用动态游标参考:https://www.cnblogs.com/hanruyue/p/5974036.html...

2020-11-16 15:36:14 1673

原创 ORACLE数据库连接进程批量KILL

应用场景当ORACLE数据库有打补丁等涉及启停操作时,往往需要先关停前端应用服务,然后在数据库服务器端检查是否还存在远程连接进程,如果有则需要KILL掉,然后才能启停数据库操作命令ps -ef|grep LOCAL=NO|grep -v grep|cut -c 9-15|xargs kill -9其他...

2020-08-05 11:36:29 671

原创 ORACLE批量导出/入表结构

导出表结构PL/SQL→工具→导出用户对象选择要导出对象的用户,这里“包括存储”和“包括所有者”如果勾选,则导出内容将分别包含表空间信息及表名前所有者信息,点导出即可导入表结构PL/SQL→工具→导入表选择“导入文件”为上步导出的sql文件,点导入即可,导入完成后会在当前导入文件路径生成导入日志...

2020-07-31 19:55:44 2479

原创 linux crontab操作

查看或编辑crontabcrontab -e/-l查看crontab日志tail -n 100 /var/log/cron其他

2020-07-22 19:52:06 131

原创 Linux给普通用户配置sudo权限

sudo配置文件的路径/etc/sudoers注:sudoers文件默认是只读权限,如果需要修改可以添加写权限 chmod u+w /etc/sudoers,编辑完成后再取消写权限 chmod u-w /etc/sudoes,或者不修改文件权限,直接vi编辑完后强制保存退出 :wq!授权格式授权用户 主机=[(切换到哪些用户或组)] [是否需要密码验证] 命令1, 命令2...其中,[(切换到哪些用户或组)] 如果省略则默认是root用户,如果是ALL则表示可以切换到任何用户,用户或组.

2020-07-22 19:31:46 755

原创 Linux后台运行脚本或命令

后台执行./test.sh后台执行./test.sh &注:使用&符号在后台执行脚本命令时,如果终端退出,则命令就会被终止(因为test.sh在后台运行时,其父进程就是当前shell终端,如果关闭终端,父进程退出,会发送hangup信号给所有子进程,子进程收到hangup信号后也会退出)不间断后台执行nohup ./test.sh &注:使用nohup则可以忽略hangup信号,使得子进程不间断在后台执行,这个时候就可以脱离终端在后台执行脚本了..

2020-07-16 19:45:36 764

JavaScript(DOM)鼠标移动评分控件

JavaScript(DOM)鼠标移动评分控件,使用onmousemove事件实现

2013-01-09

ASCII码检索程序

本程序可通过用户输入的键盘字符,自动获取所对应的ASCII码值

2012-08-17

爱情问答窗口程序(升级)

送给你爱的人,让他回答“你爱我吗”,回答不爱的话,按钮是会一直随意跑动的哦,各种跑。

2012-08-12

爱情问答窗口程序

送给你爱的人,让他回答“你爱我吗”,这其中有小小的陷阱哦,回答不爱的话,按钮是会跑走的哦

2012-08-10

骑士飞行棋(C#,多人版)

DOS版的骑士飞行棋,C#开发,支持多人游戏,最多26人

2012-07-10

java矩阵相乘算法

java写的二维矩阵相乘算法,控制台程序,要求用户输入行数及列数,自动生成二维数组相乘

2011-08-13

空空如也

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

TA关注的人

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