- 博客(88)
- 资源 (2)
- 收藏
- 关注
原创 什么是程序的时间复杂度(开发常识扩展)
当数据量特别大的时候,程序的时间复杂度就影响很大了。深入结合业务逻辑,对代码进行优化,比如预处理一些固定常用的数据,减少循环的嵌套,增加缓存等。空间复杂度描述了算法在执行过程中所占用的存储空间随着输入规模n增加而增长的速率。这里的g(n)是算法所需存储空间的一个上界函数。(注意O()表示法是预估的时间,不是程序实际执行的时间)比如+-*/等简单计算,只执行一次,代码越长执行时间就越长。,表示算法的执行时间不受输入规模n的影响。,以实现更高的执行效率和更低的资源消耗。,表示算法的执行时间与输入规模n成正比。
2024-07-25 11:39:46
243
原创 整理Python的数据类型和内存地址及存储内容之间的关系
可变的序列类型和映射类型等,参数指定的是数据类型的外包装盒子,跟里面数据的变化没有关联。通过上面的代码和运行结果,可以总结:不可变数据类型,新建参数,就好比在数据上贴标签,像int1=int3就可以理解为在100上贴了2个标签。int1重新赋值300的时候,就好比在300的数据上贴了int1的标签,100的数据上还是int3的标签。结论:不可变数据类型,参数的内存地址和数据本身有关,和参数无关。可变的序列类型和映射类型等,参数的内存地址指定的是数据类型的外包装盒子,跟里面数据的变化没有关联。
2024-07-24 09:28:32
341
原创 shell入门脚本笔记汇总
4,read -t 3 -s -p "entry your name:" name 回车。3,read -t 3 -p "entry your name:" name 回车。date = '2016-01-01 01:01:59' +%s 指定时间输出。2,read -p "entry your name:" name 回车。echo ${test:0:3} 0:开始位置,3:获取几个。#输出内容为 123456。${test^^} ^^代表小写转大写。${test,,} ,,代表大写转小写。
2023-04-24 22:57:33
843
原创 java.sql.SQLException: Error while processing statement: FAILED: Execution Error, return code 1 from
java.sql.SQLException: Error while processing statement: FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask. ORC split generation failed with exception: java.lang.ArrayIndexOutOfBoundsException: 2这个错误,在网上查了很多,都不能解决。.
2022-04-18 15:40:52
5999
原创 Hive count 计数时统计null值
Hive count 函数的大坑!select count(distinct member) from student t如果member是string类型的,count计数的时候会吧null值单独计数为1,所有的分组统计都会这样计数,数量莫名的多出好多表中member字段是string类型,空值是NULL,用isnull可以查出来,用=‘null’查不出来的那种。...
2022-04-14 17:52:27
4875
原创 Hive regexp_extract |或 误区
select url,regexp_extract(k.url,'(.*?)(/$|[^/]$)',1)url_new from table_2022 k错误写法:select url,regexp_extract(k.url,'((.*?)/$)|((.*?)[^/]$)',1)url_new from table_2022 k注意:hiveregexp_extract(string subject,string pattern,int index)方法中,index是以小括号为标准...
2022-02-18 13:51:03
1213
原创 shell if else if if elif
shell脚本,没有测试就上线,elseif异常没有发现成年人的崩溃o(≧口≦)o瞬间……首先注意这是正确的写法:for i in $tablesNamedo if [[ "$i" =~ ^wy_* ]];then echo "drop table "$i";" >>rt.txt elif [[ "$i" =~ ^dim_* ]];then echo "drop table "$...
2021-12-13 14:11:37
423
转载 Shell判断字符串是否以某些字符开头
Shell判断字符串是否以某些字符开头==比较# 可以使用通配符[[ $str == h*]]# 错误示例,通配符会变成字符串[[ $str == 'h*']][[ $str == "h*"]]等号前后要用空格 通配符不能使用引号括起来 比较语句使用双中括号括起来,而不是使用单中括号=~正则比较如果使用Bash的正则[[ "$str" =~ ^he.* ]]# 包含变量时,变量使用双引号括起来[[ "$str" =~ ^"${JAR_NAME}".* ]]h
2021-12-11 09:36:09
19108
原创 sqoop job import mysql com.mysql.jdbc.Driver包异常
异常信息:Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver'. The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary.网上查了一下是mysq...
2021-09-17 17:12:12
241
原创 打开 Python 自带的 IDLE 工具 CentOS 6.10
1,进入目录:cd /usr/lib/python2.4/idlelib( 如果是通过下载安装包安装的,进入这个目录:cd /home/huser/Python-2.7.15/Lib/idlelib/)下运行 python PyShell.py -n2,重点来了,执行报错:** IDLE can't import Tkinter. Your Python may not be configured for Tk. **...
2021-07-09 15:53:38
465
原创 yum下载地址错误 CentOS官网文件下载地址
由于yum出现异常,修改出好多问题,决定卸载之后重新下载,参考文章:“yum的卸载与重新安装”链接:https://blog.youkuaiyun.com/m0_37886429/article/details/75009382但是,删除之后,发现下载不了。查询之后,发现yum的下载地址变更为:wget https://vault.centos.org/6.10/os/x86_64/Packages/yum-3.2.29-81.el6.centos.noarch.rpm下载之后,安装:由..
2021-07-08 17:39:57
427
原创 vim 中的替换命令
查找并替换 1显示行号 :set nu 2隐藏行号 :set nonu 3查找关键字 :/you ##效果:查找文件中出现的you,并定位到第一次出现的位置,按n匹配到下一个you,N匹配到上一个you出现的位置; 替换操作 1将第一行的第一个sad替换为bbb :1s/sad/bbb 2将第一行到第五行的第一个sad替换为bbb :1,5s/sad/bbb 3将第一行到光标所在行的第一个sa..
2021-07-08 16:52:36
1563
翻译 hivesink 文档翻译
Name Default Description channel – type – The component type name, needs to behive hive.metastore – Hive metastore URI (eg thrift://a.b.com:9083 ) hive.database – Hive database name hive.table – Hive table n..
2021-05-29 18:05:31
251
原创 CDH6.2.1安装Airflow1.10.3 完整步骤总结
一、环境:CentOS 7.10CDH 6.2.1(python 2.7)二、前提第一次接触Airflow,也没有python基础,需要在CDH中集成Airflow环境,准备阶段,查询发现需要redis支持,单独搭建了Redis,结果也没用上。。。太小白了,好多大拿的文章写的比较省略,翻了好长时间的百度和必应,才搞出来,路漫漫其修远兮,我将继续努力!三、参考链接https://blog.youkuaiyun.com/qq_40593230/article/details/11484.
2021-04-21 14:43:34
951
1
原创 hive锁 导致 hive select、alter、sqoop表异常
环境:CDH6.2.1,Java8HDFS 3.0.0+cdh6.2.1 Hive 2.1.1+cdh6.2.1 ZooKeeper 3.4.5+cdh6.2.1 Sqoop 1.4.7+cdh6.2.1 Flume NG 1.9.0+cdh6.2.1 问题:假期服务器突然断电,导致正在查询的hive进程异常,重启系统之后,发现hive表不能执行,select、alter都不行,不过是部分表这样。解决:查看日志并在网上查询后,发现是hive锁的问题,
2021-04-12 10:53:47
320
原创 hive load data inpath ‘‘ overwrite into 坑
load data inpath 'dataDir/dim_url.csv' overwrite into table dim_url partition(day='2021-03')注意:1,以前都是加载本地数据,写法:load data local inpath '' ...2,如果加载hdfs上的数据,要去掉local上传hdfs:hdfs dfs -put /dataDir/dim_urlAnalysisType.csv /user/root/dataDir 报错: ..
2021-03-26 11:38:26
2704
原创 sqoop job 免密 import 步骤及坑
今天把sqoopjob的数据库密码修改为从文件中获取,环境:CDH6.2.1,Sqoop-1.4.71,修改配置文件sqoop-site.xml,在/opt/cloudera/parcels/CDH-6.2.1-1.cdh6.2.1.p0.1425774/etc/sqoop文件夹下,增加配置<property> <name>sqoop.metastore.client.record.password</name> <value>...
2021-03-24 15:42:42
294
原创 CentOS7.8安装mysql-5.7.24安装异常和启动异常
错误:The server quit without updating PID file (/usr/local/mysql/run/mysqld/mysqld.pid).网上的解决办法都尝试了,错误日志也看了,就是没有解决,然后偶然看见,在重新安装mysql的时候, /etc/my.cnf文件也要删除。我一开始是用yum方法安装的mysql,但是报错,总也解决不了,各种问题,然后改用官网下载安装包mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz解压安装。...
2021-01-22 17:36:49
195
原创 彻底卸载mysql
//移除之前安装 rpm -ev mysql-community-release-el7-5.noarch --nodeps (通过这类命令下载的: wget http://repo.mysql.com/mysql57-community-release-el7-8.noarch.rpm rpm -ivh mysql57-community-release-el7-8.noarch.rpm ) //rpm包安装方式卸载 rpm...
2021-01-22 10:58:54
202
转载 Linux/Unix 系统目录结构说明
/bin用来贮存用户命令。/usr/bin也被用来贮存用户命令。 /sbin许多系统命令(例如shutdown)的贮存位置。/usr/sbin中也包括了许多系统命令。 /root根用户(超级用户)的主目录。 /mnt该目录中通常包括系统引导后被挂载的文件系统的挂载点。比如,默认的光盘挂载点是/mnt/cdrom/。 可以为U盘建一个挂载点:mkdir/mnt/usb。 /boot包括内核和其它系统...
2021-01-21 17:16:12
420
原创 sqoop export hive to mysql 乱码问题
sqoop export导出hive表到mysql表,中文乱码,中文显示????像这种:之前修改过一次,方法一起效了,但是这个更换了服务器,新建的mysql库,方法一未起效,改用方法二生效;方法一:新建一个查询窗口,或者用命令进入mysql>,输入set character_set_database=utf8;set character_set_server=utf8;输入show variables like 'character%';查看结果:...
2021-01-14 14:11:41
327
翻译 hive 日期函数 官网摘录、整理
日期功能 Hive支持以下内置日期功能: 返回类型 姓名(签名) 描述 string from_unixtime(bigint unixtime[, string format]) 将unix纪元(1970-01-01 00:00:00 UTC)的秒数转换为一个字符串,该字符...
2020-12-31 15:02:37
395
原创 hive建表语句comment 中文描述乱码
使用Hive创建有中文注释的表时,使用以下建表语句: create table if not exists dwd_user ( cookie string COMMENT 'cookie', country string COMMENT '国家', province string COMMENT '省', city string COMMENT '城市' ) COMMENT '埋点中用户信息筛选' partitioned by (everyday strin.
2020-12-29 17:04:05
4252
转载 Linux Cannot find a valid baseurl for repo:base 与软件源连接出现问题 弹出框
问题描述:大概是某次重启虚拟机之后,隔段时间就会弹出一个异常提示框,会一直重复叠加弹框,提示There was a (prossbily temporary)problem connection to a software source.please check the detailed error for futher details.更多信息显示:Cannot find a valid baseurl for repo:base没有具体是什么进程引起的,在网上查了很多都不符合,
2020-12-24 14:47:49
1519
转载 cat /proc/meminfo 文件中的数值说明
转载:https://www.cnblogs.com/langzou/p/7444316.html$cat /proc/meminfoMemTotal: 2052440 kB //总内存MemFree: 50004 kB //空闲内存Buffers: 19976 kB //给文件的缓冲大小Cached: 436412 kB //高速缓冲存储器(http://baike.baidu.com/view/...
2020-12-22 11:18:13
1227
原创 flume读取json格式的log文件写入hive表,趟坑记录
flume读取log日志文件,写hive表注意:hive创建桶表;flume读取文件,按行读取,默认行最大值为2048个长度,过长会截取。如果不是桶表:异常报错如下Unexpected end-of-input in VALUE_STRING由于log日志每条记录是以json形式存储,然后Agent.sink.hive.serializer = JSON解析json,写入hive表。最开始找到的报错信息是json解析异常:[DEBUG - org....
2020-11-03 17:16:33
1808
原创 hive 桶表 插入数据方式 insert into overwrite
因为数据异常,需要在hive桶表中插入历史分区数据,一开始的SQL:insert overwrite table桶表partition(partition='2020-10-30')select * from分区表twhere t.partition='2020-10-30'报错:org.apache.hive.service.cli.HiveSQLException: Error while compiling statement: FAILED: SemanticExce...
2020-11-01 14:56:50
2055
原创 win10 csv文件上传到Linux,打开中文乱码
原因:Windows下默认使用的是GB2312编码,Linux默认使用的是UTF-8。 所以在Windows下产生的代码是GB2312编码,在Linux下当然识别为乱码 ; 反之,同理乱码 。简单处理方式:win10中打开文件,设置编码格式为utf-8...
2020-08-21 14:54:09
2537
原创 shell常用小命令整理
if判断 if [ ! -n "$1" ]; then everyday1=`date '+%Y-%m-%d'`else everyday1=$1fi exp1: 如果a>b且aif (( a > b )) && (( a < c ))或者if [[ $a > $b ]] && [[ $a < $c ]]或者if [ $a -gt $b -a $a -lt $c ]ex...
2020-08-21 09:53:53
178
转载 Shell中获取取今天、明天、昨天和多天前日期
1、获取今天日期$ date -d now +%Y-%m-%d 或者$ date +%F2、获取明天日期$ date -d next-day +%Y-%m-%d$ date -d tomorrow +%Y-%m-%d3、获取昨天日期$ date -d yesterday +%Y-%m-%d 或者$ date -d last-day +%Y-%m-%d 或者$ date -d "1 days ago" +%Y-%m-%d ##"n days ago" 表示n天前的
2020-08-21 09:40:10
1083
原创 sqoop export 到mysql踩得巨坑。。
首先把修正后的脚本放出来,然后在说说踩得那些坑!sqoopexport脚本:/home/huser/sqoop-1.4.7/bin/sqoop export --connect "jdbc:mysql://localhost9:3306/analysis" \--username mysql \--password Pass2020 \--table tmp_dws_visit_source \--columns days,visitSourceType,visitSource \-..
2020-08-20 14:44:15
3624
1
原创 hive的case when then和cast
记录一个因为本人弱智脑子不清醒导致搞了很长时间的bug:写hivesql的时候,把cast写成了case,还神奇的一直没有发现,在积极百度查报错原因╮(╯▽╰)╭这里记录下两个方法的用法,来涨涨记性!cast 用法 CAST(<timestamp/date> AS <varchar/char/string> [FORMAT <template>])CAST(<varchar/char/string> AS <tim.
2020-08-13 14:35:25
569
原创 sqoop 报错Could not register mbeans java.security.AccessControlException: access denied (“javax.manage
sqoop导出SqlServer数据库数据时,报错如下,但是前一天的定时任务执行该命令是没有异常的,今天修改了命令里面的问题,手动执行sqoop导出时,出现异常:2020-07-29 10:33:48,532 main ERROR Could not register mbeans java.security.AccessControlException: access denied ("javax.management.MBeanTrustPermission" "register")20/07
2020-07-29 11:24:34
1804
1
原创 crontab定时器执行.sh脚本
Linux的crontab,执行shell脚本的时候,异常问题整理整理的原因是:crontab测试真的太耗费时间了!一、crontab中的脚本不执行,单独执行shell脚本没问题,放crontab中不行28 15 * * * sh -bx sqoop_startAll.sh create all 2>&1 >> /home/user/sh_starts/logs/sqoop_upload_`date +\%Y\%m\%d`.log原因是shell脚本需要全路径,.
2020-07-21 16:39:59
7982
1
原创 shell 查看文件命令
1、cat 正序查看文件 ##适用于查看小文件,全部展示 1)cat >>文件名 创建一个文件 2)cat 文件名 查看文件 2、tac 倒序查看文件 1)tac 文件名 3、nl添加行号查看 1)nl 文件名 4、more 按页的显示文件内容 ##可以一行行查看,从前往后看 more 文件名 1)空格键 代表...
2020-07-17 15:08:29
2159
转载 shell判断变量是否为空
1.判断变量read -p "input a word :" wordif [ ! -n "$word" ] ;then echo "you have not input a word!"else echo "the word you input is $word"fi2.判断输入参数#!/bin/bashif [ ! -n "$1" ] ;then echo "you have not input a word!"else...
2020-07-15 17:46:55
446
转载 shell字符串截取掐头去尾操作
字符串的掐头去尾字符串掐头(#用来删除头部,*通配)从左向右,最短匹配删除格式:echo ${变量名#*关键词}[root@ceshiji ~]# x=`head -1 /etc/passwd`(x变量=head -1 /etc/passwd命令,)[root@ceshiji ~]# echo ${x#*:}x:0:0:root:/root:/bin/bash从右向左,最长匹配删除格式:echo ${变量名##*关键词}[root@ceshiji ~]# echo ${
2020-07-15 11:28:12
1955
转载 Linux top命令详解
转载:https://www.cnblogs.com/niuben/p/12017242.htmltop命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器第一行,任务队列信息,同 uptime 命令的执行结果系统时间:07:27:05运行时间:up 1:57 min,当前登录用户: 3 user负载均衡(uptime) load average: 0.00, 0.00, 0.00 average...
2020-07-14 14:38:53
192
CentOS6.6和CentOS7镜像网盘下载
2020-05-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人