自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

破碎琉璃为哪般

花开彼岸本无岸,魂落忘川犹在川,醉里不知烟波浩,梦中依稀灯火寒,花叶千年不相见,缘尽缘生舞翩迁,花不解语花颔首,佛渡我心佛空叹

  • 博客(112)
  • 资源 (8)
  • 问答 (2)
  • 收藏
  • 关注

原创 五分钟学会hive中的行转列,列转行(UDAF和UDTF)以及concat,collect_set,concat_ws用法

准备数据:nameconstellationblood_type小明小熊座R小红猎户座XR小白猎户座R小蓝小熊座R小绿小熊座R行转列创建表并导入数据create table person_info(name string, constellation string, blood_type string) row fo...

2018-11-29 20:45:46 1518 2

原创 linux里的葫芦娃----awk ,sed,grep

准备:创建测试文件,分隔符为制表符"\t":第二个测试文件先说说grep:查找出文件aaa.txt中的日期格式字段接下来结合cut使用一下:先找到系统文件/etc/passwd来测试查找文件中的用户有哪些并去除超级用户 cut -f 2 testfile.txt //得到目标文件第二列,默认分割符\tcut -f 2 -d ‘-’ aaa.txt //得到目标文件第二列,...

2018-11-26 21:36:58 458 1

原创 linux getopts实现模拟mysql参数登录

getopts脚本设置方式# ":u:p:h:P:" 中开头的:是指区分错误类型# u: 变量后 : 指使用时必须有参数值# OPTARG 是指系统内置变量while getopts ":u:p:h:P:" optdo case $opt in u) user=$OPTARG echo "用户名: ${user}" ;; p) pwk=$OPTARG echo "用户密码: ${pwk} " ;; h) host=$OPTARG

2022-05-25 17:04:16 197 1

原创 hive的limit失效问题

问题语句select app_name,count(1) as cnt from ( select name,seq_id from tmp.data_20220418 group by name ,seq_id) a group by app_name limit 10; 当我在spark去运行这个语句时加不加limit 结果是一致的但是当我用beeline去运行时, 加limit 结果只有一行错误数据, 不加limit 才能跑出正常结果排查过程把limit相关参数

2022-04-29 16:42:02 2649

原创 hive自动化上传文件到表

自动化实现上传文件到表#!/bin/bash. /etc/profile. ~/.bash_profile. ~/.bashrcerror() { if [[ $? != 0 ]]; then echo "$@ 运行失败" exit 1 fi}# 待上传表名inset_table_name=$1# 待上传文件名file_name=$2# 分区名pt=$3load_path="/tmp/load_path/"curr

2022-03-04 19:29:44 1210

原创 spark-windows本地环境搭建

本机系统windows10Hadoop是hadoop-3.2.0,替换hadoop.dll 和winutils.exe (直接换掉bin目录)github找 https://github.com/steveloughran/winutils/blob/master/hadoop-3.0.0/binscala-SDK-2.12.10 , spark2.4.3不需要本地环境pom配置即可 (注意spark3.0会出现java 9 报错,网上的方法都不可用)环境变量JAVA_HOME、HADOOP..

2022-01-11 16:44:11 1034

原创 python-subprocess模块连接mysql实践

subprocess模块call和run方法测试,运行环境windows# -*- coding: utf-8 -*-import subprocessimport osimport pandas as pdfrom sqlalchemy import create_engineimport sysengine = create_engine("mysql+pymysql://root:[email protected]:3306/datax?charset=utf8mb4", .

2022-01-07 15:48:39 1077

原创 Python-读取EXCEL数据计算行数,并写入mysql(五)

# -*- coding: utf-8 -*-"""Created on 2021/12/30 11:25SQL 数据类型from sqlalchemy import Integerfrom sqlalchemy import DATEfrom sqlalchemy import BIGINT"""import pandas as pdfrom sqlalchemy import create_enginefrom sqlalchemy import VARCHAR## from

2022-01-04 09:25:49 391 1

原创 python-读取EXCEL多个sheet数据写入csv(四)

需求读取一个EXCEL所有的sheet数据多次运行追加写入csv文件# -*- coding: utf-8 -*-"""Created on 2021/12/29 19:20@author: tangge"""import pandas as pdimport timepath = "D:/code_fileAll/test_file/input/老头乐.xlsx"res_path = "D:/code_fileAll/test_file/output/"curr_d.

2022-01-04 09:24:26 2199

原创 python-读取mysql数据写入EXCEL(三)

需求读取mysql数据,使用SQL过滤数据SQL结果追加数据到EXCEL 文件# -*- coding: utf-8 -*-"""Created on 2021/12/29 16:44@author: tange"""from sqlalchemy import create_engineimport pandas as pdimport timecurr_date = time.strftime("%Y%m%d", time.localtime())print(c.

2021-12-31 19:45:42 1107

原创 python-读取txt文件并取部分列的带某字符的数据写到EXCEL(二)

需求:读取本地csv文件取某一列包含某字符数据,可用正则结果写入EXCLEimport pandas as pdimport timecurr_date = time.strftime("%Y%m%d", time.localtime())print(curr_date)path = "D:/code_fileAll/test_file/input/111.csv"res_path = "D:/code_fileAll/test_file/output/"# 读取文件内容,第一.

2021-12-31 19:43:34 343

原创 python-连接mysql的两种方式(一)

一、sqlalchemy""" sqlalchemy 连接方式, 直接提交执行"""from sqlalchemy import create_engineengine = create_engine("mysql+pymysql://root:[email protected]:3306/datax", max_overflow=0, # 超过连接池大小外最多创建的连接,为0表示超过5个连接后,其他连接请求会阻塞 (默认为10)

2021-12-31 19:41:53 2201

原创 dataX-windows系统的Mysql到Mysql(三)

执行环境python3.7 , datax3.0, windows10,mysql8.0.27一、获取job.json样本python D:\dataxTest\datax\bin\datax.py -r mysqlreader -w mysqlwriter > mysqlTomysql.jsonmysqlTomysql.json配置如下{ "job": { "content": [ { "reader".

2021-12-28 16:08:27 848 1

原创 dataX-windows系统下mysql与txt的转化(二)

本篇的配置环境 https://www.jianshu.com/p/6c086c0ab2a9mysql 8.0.27 ,python3.7 ,windows系统一、文件准备新建workJson 和 workfile 目录分别存放原始文件,和json原始文件名file.txt分割符为\t二、txt文件到txt文件json模板获取python D:\dataxTest\datax\bin\datax.py -r txtfilereader -w txtwriter > txtTotx.

2021-12-27 19:05:22 1445

原创 dataX-windows版安装与实操(mysql8、python3) (一)

操作环境: mysql 8.0.27、windows10、datax3.0 、python3.7.3、Navicat Premium15下载地址800多M :http://datax-opensource.oss-cn-hangzhou.aliyuncs.com/datax.tar.gz一、安装与测试1.建立无中文,无空格目录解压下载的安装包python3.0需要替换安装目录bin下的3个文件替换文件下载:链接: https://pan.baidu.com/s/1gPQtrqu2emJnTP.

2021-12-27 17:35:20 1514

原创 Git-分支合并与冲突解决(三)

一、分支创建dev分支 git branch dev删除本地仓库dev分支 git branch -d dev删除远程仓库dev分支 git push origin :dev切换到dev分支 git checkout dev合并分支 git merge dev重命名分支 git branch -m OldName NewName分支合并模拟处理操作# 已知 master 分支上有文件b.txt git branch dev # 新建分支git checkout dev # 切

2021-12-27 15:30:20 255

原创 Git-基本操作命令(二)

本文章操作配置 : 版本 2.34.1 环境windows安装请查看 https://www.jianshu.com/p/92e97aae93ee基本操作命令打开命令行初始化配置 git init查看本地库配置 git config -lvim编辑器修改配置 git config -e添加远程仓库 study是别名 git remote add study https://gitee.com/tangge1/study.git修改远程仓库 git remot.

2021-12-23 19:33:35 945

原创 Git-Windows版安装与测试(一)

一、软件安装Git下载:版本2.34.1-windows64位链接: https://pan.baidu.com/s/1Giah945mxrmsWp3DDIMDAg 提取码: j5az注:点击安装在非中文无空格目录下安装过程中的注意点鼠标右键可以调出命令行环境变量配置安装完成后windows+R --> 输入CMD回车,在黑窗口输入git --version出现版本号即安装成功二、基本配置配置用户和签名# 项目级别git config user.na

2021-12-23 16:10:49 197

原创 mysql进阶操作去重及空值处理篇(四)

此篇主要介绍去重和去重过程中空值的处理源表部分内容一、去重的四种方式group by-- 去重时 空和null均参与计算select name from demo.product_name group by name ;distinctselect distinct name from demo.product_name ;窗口函数-- 伪列实现去重select * from ( select *,ROW_NUMBER() ov

2021-12-20 16:10:19 2525

原创 mysql进阶操作join篇(三)

本文主要介绍mysql中常用join和in,exists 的转化mysql 版本:mysqlVer8.0.27forWin64onx8664(MySQLCommunityServer−GPL)\color{red}{mysql Ver 8.0.27 for Win64 on x86_64 (MySQL Community Server - GPL)}mysqlVer8.0.27forWin64onx866​4(MySQLCommunityServer−GPL)注意:使用5.7以下版本建表是不支持两个

2021-12-20 11:11:08 588

原创 mysql 进阶操作json篇(二)

一、 样例数据准备建表CREATE TABLE `product_name_copy_2` ( `id` bigint NOT NULL AUTO_INCREMENT, `name` json DEFAULT NULL COMMENT '产品名', `create_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `update_time` timestamp NULL DEFAULT CURRENT_T

2021-12-17 16:21:29 500

原创 mysql进阶操作基础篇(一)

默认mysql字符串编码字符集:utfmb4排序规则:utf8mb4_general_ci → 该设置字段不区分大小写排序规则: utf8mb4_bin → 可识别字段内容的大小写-- 建表语句CREATE TABLE product_name ( id bigint NOT NULL AUTO_INCREMENT ,product_name varchar(200) DEFAULT NULL ,create_time timestamp NULL DEFAULT CU.

2021-12-17 15:02:40 751

原创 linux 获取文件列数并转置行列

标题获取文件列数的两种实现方式原始素材文件一、使用awk# 获取每一行列数awk '{print NF}' file.txt # 获取最长列数cat file.txt |awk '{print NF}' |sort -nrk1|head -1# 获取最短列数cat file.txt |awk '{print NF}' |sort -nk1|head -1二、使用wc命令# 获取列数,wc -w 不会识别换行,因此只能单行识别cat file.txt |head -1|wc -w

2021-12-16 11:45:25 4451

原创 解决本机装载mysql无法使用ip连接问题

基础配置mysql 版本 5.7连接工具Navicat一、先用localhost进入mysql,找到mysql库里的user表二、修改第一列Host值为 %三、刷新配置 flush privileges;四、编辑连接设置ip连接

2021-12-16 10:57:50 2340

原创 hiveSQL计算连续值

原始测试数据准备nameseq_numa1a2b4b5c1c3c4创建测试表create table if not exists tmp.rows_preced_test_20210526(name string comment '用户名',seq_num int comment '使用产品编码')partitioned by (pt string comment 'YYMMDD数据入库时间')ROW FOR.

2021-10-13 17:02:42 379

原创 查找文件内容并返回文件名与查找内容对应行号linux和window同时实现

需求:有大量的小文件,想需要找到这些文件中,符合某种特定条件的文件名以及在该文件里的行号,这里介绍linux和python两种实现方式一、liunx实现# 查询 某些文件内是否包含某字符, 放回行数+文件名 + 该行内容# 查询当前目录及子目录文件中以log结尾的文件中, 存在呆子字符的行grep -rn '呆子' ./ --include=*.log返回结果: 文件名+行号二、python实现在window 系统可用python实现""" 读取指定目录下的csv文件, .

2021-09-18 16:27:13 823

原创 查看hive表(分区)大小,支持多写法

针对hive内表,经常要查看表大小后分区路径设置的脚本#!/bin/bash. /etc/profile. ~/.bash_profile. ~/.bashrc# 参数 "tmp" "tmp_20200808" "201909"if [[ $# = 3 ]];then database=$1 table_name=$2 hadoop fs -du -h /user/hive/warehouse/${database}".db"/${table_name} |grep .

2021-09-18 10:12:55 1954

原创 普通用户查看全量hive库的表最后访问时间

我们在使用大数据集群时,时间越长越发现有大量的冗余数据表,删除却发现所有人的使用情况不一样,删除的话可能会影响当前正在运行的业务于是我尝试了下面几种方法查看表描述desc formatted table_name在图上我们可以看到这里只能看到最后一次DDL时间(也就是增删改的时间),这样并不能拿到select的时间HDFS时间hadoop fs -ls /user/hive/warehouse/tmp.db/regexp_test/hadoop fs -stat /user/hive/w.

2021-07-10 15:11:22 1582 1

原创 查看hive库下那些表是视图

多人用同一个数据库,有人表名命名不规范导致视图和表无法分离开来,当想查看那些是表,那些是视图时,遇到了问题。网上有提供show views;命令,但是在当前的hive版本中正本不支持主要问题在于两点grep 做过滤默认为模糊匹配,需要添加 -w 参数使用uniq -u 来过滤会有一部分隐藏文件和其它建的外表(已删除表)也会被输出代码如下#!/bin/bash. /etc/profile. ~/.bash_profile# 报错退出error() { if [[ $?.

2021-03-29 16:39:52 961

原创 linux 常见问题及解决方案(1)

linux中将逗号分隔的txt格式文件转成csv 格式,解决中文乱码问题iconv -f UTF-8 -t GBK ${txt_file_name} -o ${csv_file_name}vi编辑器中重window直接上传的文件中包含<U+FEFF> 字符打开文件执行ESC + shift : set nobomb保存关闭,问题解决文件很大或太多文件需要加表头sed -i '1i\table_head' file_name遇到linux磁盘IO被占用,想查到是哪个程序pidsta.

2021-03-06 15:38:50 222

原创 python读取mysql结果写入Excel

代码环境 python3#!/usr/bin/env python# -*- coding: utf-8 -*-import pymysqlimport xlwtimport timecurr_date=time.strftime("%Y-%m-%d", time.localtime()) # 结果文件存放位置rest_file_path="C:\\Desktop\\"# 参数 mysql表名,读取字段,要读取字段值,要提取的数据量def export_excel(table_n.

2021-02-09 16:13:02 330 1

原创 scala函数和方法的调用

方法和函数的区分Scala 中使用 val 语句可以定义函数,def 语句定义方法。/** * 同包调用其他类 * def functionName ([参数列表]) : [return type] * */object testFun{ def main(args: Array[String]): Unit = { val a = 4 var n= trueOrFllse(a > 2 ) println(n) // 此处为函数体,并在方法体内调用

2021-02-09 16:00:53 301

原创 python 实现TXT转excel 并切割文件

话不多说,上代码本次使用的是python3环境,使用pandas读取文件,读取速度有点慢,建议数据量50W以下优化方案可以使用mysql来操作sql来完成大数据量的操作# -*- coding: utf-8 -*-import pandas as pdimport sys#from bbb import *import timecurr_date=time.strftime("%Y-%m-%d", time.localtime()) #文件名路径path="C:/Users/

2021-02-09 15:51:00 403 1

原创 hive where条件字段丢失问题

问题我们执行屏蔽掉有字符的字段,但是下面这种执行方式会把空的过滤掉-- name 为空的会丢失select * from tmp.name_sex_201201 where name not regexp '本人|[*]' 解决方案select * from tmp.name_sex_201201 where nvl(name,'') not regexp '本人|[*]' ...

2021-02-09 15:34:43 255

原创 自动化下载hive表数据(可指定分隔符和屏蔽字段)

一、脚本内容#!/bin/bash. /etc/profile. ~/.bash_profile# 报错退出error() { if [[ $? != 0 ]]; then echo "$@ 运行失败" #事务回滚机制 sh ~/bee_u_e.sh "drop table if exists tmp.nidaye_${pt}" exit 1 fi}#脚本使用说明if [[ $1 = help ]];t

2021-02-09 15:20:01 285

原创 hive 的regexp_extract与零宽断言使用

结论:零宽断言的括号不计算在regexp_extract 函数中select regexp_extract(‘hehe: dog呵呵’,’(?>=hehe).*?([a-z]+)’,1)

2020-05-09 17:46:53 466 1

原创 hive实现多分隔符

hive 建多分隔符表一、测试外表:create EXTERNAL -- 外表标识 table tmp.deli_tmp_0117(z1 string,z2 string) partitioned by (pt string comment 'YYYYMM')ROW FORMAT SERDE 'org.apache.hadoop.hive.contrib.serde2.Mul...

2020-01-18 21:06:44 347 4

原创 自己用安装包安装MongoDB的启停看状态脚本

之前下载了一个MongoDB–4.0版本的,安装完不能像其他人一样使用service mongod start|status|stop脚本开始在网上找了一大堆的脚本,但是都不能用,尤其是看状态模块失效。于是自己动手写了一个在/etc/init.d文件夹下新建文件mongod#!/bin/sh# ### BEGIN INIT INFO # Short-Description: mong...

2019-01-22 17:53:26 154

原创 linux下MongoDB的安装以及windows下Robo 3T 远程连接MongoDB

今天在使用MongoDB时远程连接是出现了一些问题下载MongoDB的安装包,传到linux系统目录下,解压tar -zxvf mongodb-linux-x86_64-4.0.5.tgz -C /usr/local创建数据库和log日志文件地址mkdir -p /data/mongodb_datamkdir -p /data/mongodb_log在安装目录下启动bin/mon...

2019-01-21 20:51:04 1413

原创 python连接kafka并消费数据

连接kafka服务端查看topic在idea里导入模块pykafka编写代码# 导入安装包from pykafka import KafkaClient# 设置客户端的连接信息client = KafkaClient(hosts="hadoop01:9092,hadoop02:9092,hadoop03:9092")# 打印所有的topicprint(client.topics)...

2019-01-19 21:24:21 5028

mysqlwriter-0.0.1-SNAPSHOT.jar

datax支持写入mysql8.0的jar包, 不是8.0驱动,系统是windows10

2021-12-31

matplotlib模块资源包

Windows下python3.7版本64为安装包,解决python安装此模块冲突问题

2019-01-04

ES分词工具插件

可以为ES提供分词搜索操作,与各版本基本兼容,最好与5.6 版本使用

2018-12-24

azkaban工作流程控制工具

通过这个工具可以看到每个任务执行的节点,先后顺序,连在一起就是一个完整的流程控制图,可以和hive等一起使用

2018-12-22

Hadoop的core下的jar包

当我们在idea工具里运行MapReduce程序时,报错权限问题,workaroundNonThreadSafePasswdCalls问题,NoSuchFieldError问题,将这个jar包替换源码maven仓库下的org\apache\hadoop\hadoop-core\1.2.1里的同名jar包即可

2018-12-08

linux下的桌面小猫抓老鼠

解压此包可以用oneko 命令得到一只小猫抓你的鼠标光标

2018-11-21

spark源码包

spark2.0版本的源码,此版本为当前的稳定版本,而且此源码带有注释的

2018-11-18

Hadoop集群自动安装

使用可以一键搭建Hadoop集群,快捷方便。

2018-11-09

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

TA关注的人

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