自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(39)
  • 问答 (1)
  • 收藏
  • 关注

原创 利用tornado异步执行脚本

利用tornado异步执行python脚本

2023-01-19 17:06:09 1014

原创 JGit操作之2.0版

利用JGit操作Git,统计最近一个月提交代码次数和代码量

2023-01-19 15:35:16 1606

原创 利用java操作JGit教程

java jgit开发

2022-08-12 17:11:43 1340 3

原创 sparkstreaming写入hive表报错问题解决

structstreaming写入hive table报没有权限的问题

2022-06-29 10:15:17 313

原创 采用python开发sparkstreming全流程

python的structstreaming消费kafka的数据写入hive表

2022-06-16 15:54:29 455 1

原创 windows上使用docker搭建kafka

docker上搭建kafka的集群

2022-06-09 21:31:31 831

原创 谈谈我对linux防火墙的理解

背景描述最新在公司中接到了一个需求,需要我在linux上配置权限,需求如下:(1)限制指定的ip访问我的机器;(2)限制本机访问外部的ip信息(防止出现数据泄露);主要是机器是我们组申请的,让其他人使用,禁止数据上传和下载的情况;拿到这个需求,第一个想到的就是linux的防火墙;目前linux的防火墙主要是使用iptables和firewall;区别在于firewall是在redhat 7.0之后开始使用的;在拿到需求之后,首先试着使用firewall的方式,但是firewall无法满足需求(可能

2022-04-12 22:50:29 946

原创 linux下定义命令

由于历史原因,之前使用的java是jdk1.7,当时使用的java代表jdk1.7;而现在需要使用jdk1.8,但仍然需要保留jdk1.7;这里规划将java表示jdk1.7,java8表示成jdk1.8;具体操作流程如下:这里可以设置成全局的和局部的,这里我们都讲一下:如果要设置成全局的情况,需要在/etc/profile中进行配置,在/etc/profile文件的末尾配置如下:export java8=/usr/lib/jdk/jdk1.8.0_101/bin/javaalias java8=$

2021-03-02 16:50:15 95 1

原创 hive数据迁移过程

当前,需要将集群的数据从HDP迁移到CDP的集群当中,因此要将HDP中的表在CDP上构建,并将HDP中的数据复制到CDP中,以下是具体的处理逻辑;版本:HDP中hive版本,1.2.1CDP中hive版本,3.1.3(1)表复制,我们采用impala,在impala上执行如下命令:show create table xxxx;采用这种方式,我们可以获取建表的语句,进行修改即可在CDP集群上进行建表;(2)数据复制,数据复制采用如下的命令:hadoop distcp -D ipc.clien

2021-02-03 19:32:24 481

原创 elasticsearch查询10000条以后的数据

elsaticsearch是一个分布式的、RESTful 风格的搜索和数据分析引擎,由于是分布式的,在es中默认设置最多可以查询前10000条的数据,当要查询10000条之后的数据,可以采用如下的两种方式配置,具体如下:(1)通过设置索引的max_result_window的这个参数,可以修改最大查询的值;put请求 http://127.0.0.1:9200/indexname/_settings { "index": { "max_result_window"

2021-01-21 17:23:29 1471

原创 hdfs介绍

HDFS是大数据的文件存储系统,它由3个组件组成,分别是client,namenode和datanode,以下是对这三个组件的介绍;HDFS ClientHDFS Client的主要只能由如下几个,分别是:(1)与namenode进行交互,获取文件位置信息和文件块信息;(2)与datanode进行交互,读写数据文件;(3)访问并管理HDFS集群hdfs client的访问方式有三种,分别是:(1)命令行交互界面,它是HDFS自带的;(2)使用HttpFs服务访问HDFS,它提供restful

2021-01-19 20:02:33 161

原创 yarn介绍

yarn出现的原因和优点在hadoop 1.0时,mapreduce作业执行的任务调度调度由jobtracker和tasktracker,这样增加了namenode的负担,并且,在tasktracker上的资源分配的粒度太粗,容易造成资源的浪费;基于上述原因,在hadoop2.0时代,将资源管理,任务调度和任务监控的任务拆分出来,即是yarn;在hadoop 2.0时,所有的作业或系统运行所需的资源,都由资源管理器和调度框架同意申请,分配和协调;除了yarn这一组件之外,还有apache Mesos,只

2021-01-17 16:02:04 184

原创 hive架构介绍

hive概述Hive是基于Hadoop的一个数据仓库工具。可以将结构化的数据文件映射为一张’数据库表’,并提供完整的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。hive原理介绍h...

2021-01-17 13:44:42 280 1

原创 python logging日志简介

最近在写flask的web程序,中间涉及到对日志的配置,这边记录以下使用的情况我的代码使用的是python的logging的模块,python的logging模块和java的log4j有点相似;基本流程如下:(1)创建logger,并设置logger的日志级别(2)创建handler(3)创建format(包括打印输出格式和日期格式)(4)将format添加到hander中(5)将handler添加到logger中注:一个logger可以设置多个hander,一个handler对应一个输出路

2021-01-09 20:02:00 86

原创 hive创建udf函数具体介绍

随着用sql计算业务逻辑越来越复杂,常用的hive内置函数无法满足复杂的sql计算,对于这种复杂的逻辑,需要自己去写udf函数,这里记录一下自己写udf函数的详细过程;1.创建maven工程,在写hive udf函数的时候,需要首先创建一个maven工程;这个maven工程是普通的java工程;中间会用到一个jar包,这些都是在pom文件中用到,具体pom文件如下:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http:/

2020-10-26 16:42:58 845

原创 impala3.0版本使用问题解决

在用impala3版本时,出现了几个问题,以下是问题和解决方法:1.impala执行出现异步的问题问题:在impala3.0版本时,采用pyhive,impyla,以及hue这些python lib和命令行执行时,会出现异步执行的情况,具体表现如下:先drop table a,然后再create table a时,发现在执行create table a时显示table a已经存在,其实在pyhive和impyla中已经设置是同步执行了,但是还会有这种问题,通过查询impala3的文档了解到,impal

2020-09-20 14:01:52 665 1

原创 sqoop在hive3版本上export报错的解决方式

在进行系统迁移时,sqoop推数始终不成功,报错如下:ERROR tool.ExportTool: Encountered IOException running export job:org.apache.hive.hcatalog.common.HCatException : 2016 : Error operation not supported : Store into a transactional table fxgl.fxgl_recnclt_result_upd from Pig/Map

2020-09-20 13:46:42 2161

原创 elasticsearch数据复制

elasticsearch可以实现秒级别查询,其查询的方式和sql很相似,本博客主要是讲一下es怎么实现表中的数据复制,即将一个索引复制到另一个索引当中;es版本:5.4.2实现索引复制的原因:生产上所建的es需要进行修改,但es中已有相当一部分数据,这部分数据必须先备份之后,方能重建索引,再进行数据复制;具体实现步骤:(1)假设原始在es上的索引被称为indexname1,这里需要创建的索引被称为indexname2;首先我们创建新的index2;我们使用的是大数据hive,每天都会将hive上

2020-09-20 13:34:47 2714

原创 记一次impala问题查询和解决

记录一下解决impala问题查询的过程,具体问题如下:采用pyhive连接impala,去执行相应的sql,在执行的sql过程中,直接退出,也不返回具体的错误信息,只是返回的状态码是error;这里需要注意,pyhive连接impala是异步执行的,需要在代码中进行判断当前语句是否执行完成,在执行完成之后,才可以去执行下一句的sql;我们这里采用poll()函数去获取对应的执行状态;当状态是ERROR时,则直接报错退出,但这里有一个问题,我们这里只是知道impala执行时报错,但是不知道到底错在哪;p

2020-08-18 21:44:56 2527

原创 谈谈个人对python3中迭代器的理解

目前在重新学习python,在学习python时重新学习到迭代器,这里对迭代器进行总结;首先是一些基础的定义:(1)可迭代对象:目前来说,数组,元组集合,字典,字符串都是可迭代对象,这些可迭代对象都是python原生提供的,除了python原生提供的可迭代对象之外,我们还可以自己去创建可迭代的对象,对于自己创建的可迭代对象来说,只要是实现了__iter__()方法,那么这个对象就是可迭代对象;具体可以看以下的实例: from collections import Iterable clas

2020-07-18 00:38:13 190

原创 pyhive连接kerberos认证的hive

目前,大多数的大数据集群之前是采用kerberos认证的,公司的大数据集群目前正在升级,认证方式由LDAP认证方式改变成为kerberos进行认证;以下介绍如何将LDAP认证连接升级至KERBEROS认证的过程:pyhive连接hive,通过LDAP认证方式的代码:from pyhive import hiveconn = hive.Connection(host='',port=10000,username='xxx',password='xxx' ,data

2020-07-07 23:35:54 2570

原创 python3 paramiko连接服务器出现乱码的情况解决

python3上的paramiko底层的代码将解析的编码设置成utf-8,并且没有提供接口修改编码,导致通过paramiko远程连接服务器时,当编码不是utf-8时,很容易出现编码出错的问题;以下是具体的问题和解决方案:案例:公司要到sfg服务器上查询文件,但是paramiko底层设置的编码是UTF-8,但是公司的sfg服务器用的其他编码,如GB2312,导致paramiko采用listdir时,查询文件存在中文时,有的编码采用utf-8无法解析,导致报错;解决方案:修改底层代码,主要是sftp_cl

2020-05-23 17:28:11 2901

原创 log4j2的使用教程

因为log4j版本存在bug,公司要求将log4j升级到log4j2,在处理过程中,有一些心得体会,这里分享一下;升级场景:我们的代码不是web程序,也没有用到spring或者springboot,这里所有的东西都是自己写的,使用的main函数,从main函数直接进入,然后自己填写log4j2.xml,自己读取log4j2.xml,之后将日志打印到指定的目录下;log4j和log4j2的比较:...

2020-04-30 14:23:58 441

原创 linux上source /etc/profile的用处

在linux中,/etc/profile文件中存储了linux中配置的一些全局变量;这些变量对所有的用户可以用;与此同时,你也可以在当前用户的~/.bashrc文件中配置环境变量,但是此时的环境变量只是归属于当前用户;我们在登录单个用户时,会首先加载/etc/profile中的全局变量的信息,然后加载/etc/bashrc中的数据信息;在有的时候,我们采用一些其他的方式登录时,有些全局变量是不...

2020-02-22 22:50:39 5150

原创 python3利用ftp传输文件名含有中文的文件报错问题解决

ftp是常用的文件传输协议,在python中使用ftp传输时一般采用ftplib的包来进行文件传输;在进行文件传输时,当文件名是中文时,会报错,以下是文件传输的代码和报错信息:class FTPSync(object): conn = ftplib.FTP() def __init__(self, host, port): self.conn.connect(...

2019-12-26 10:08:05 2908 2

原创 记一次python问题解决---python类的静态变量和实例变量

在使用python的过程中,类是很少用的,绝大多数的采用方法就可以完成了,但是当前在写代码的过程中,用到了类,由于没有使用过类,在静态变量和全局变量上出现了问题,具体如下:class Job(object): ''' xml中的job类型 ''' variables = [] inconds = [] outconds = [] quant...

2019-12-24 21:07:11 340

原创 hive操作elasticsearch的操作

ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口;目前elastic search已经可以很好的与hive数据库进行配合操作,将hive中的数据在elasticsearch中创建对应的索引,方便用户用restful api接口查询数仓hive中的数据,且查询的效率是秒级别的;以下是对如何将hive中的表在ela...

2019-11-10 14:32:01 308

原创 hive命令行找不到包的问题解决

我们在操作hive的时候,一般情况下直接在命令行cli下直接敲命令就可以了,但是对于日常批量的话,需要每天都跑,这里就采用了python来执行进行每天的批量运行,用pyhive建立数据库连接,连接远程的hive数据库,然后在远程的hive环境上执行hive的sql;一般情况下,我们在执行hql之前,需要配置环境,本次需要添加两个关于elasticsearch的lib,执行以下两个命令:add ...

2019-11-10 14:01:57 1878

原创 python3解析excel无sheet页问题解决

采用python3解析sheet页一般采用xlrd进行excel解析,并进行文件读取的情况,但是对于一种特殊情况可能无法处理,如下:对于xls的文件,可能存在没有sheet页的情况;这个时候可能会采用以下的方式进行解析:import xlrdsheets = xlrd.open_workbook(filepath)sheet = sheets.sheet_by_index(0)对于无...

2019-10-31 12:35:56 898

原创 记一次hive问题解决

执行hive的sql时,进行查询操作,出现了如下的问题:TExecuteStatementResp(status=TStatus(statusCode=3, infoMessages=['*org.apache.hive.service.cli.HiveSQLException:Error while processing statement: FAILED: Execution Error, ...

2019-09-16 18:15:07 4243

原创 python3环境下手工安装paramiko

pip操作给我们带来的无限的便利,同时也给我们带来了无限的痛苦目前安装python的lib通常都是采用pip3的形式进行安装,这种安装的方式简单快捷,不需要考虑安装包的版本,以及安装包之前的依赖关系,给我们带来了无限的方便,但是在没有网的环境之下,习惯于用pip操作的我们则不得不承受痛苦,在安装python3的paramiko的时候就体验到的这种痛苦,公司的开发环境上可以连接外网,而生产环境上不...

2019-09-12 16:04:00 2939

原创 关于python3操作pyhive缓存输出处理

python3在操作hive的时候,可以采用pyhive的lib,在很多情况下,由于hive的单个表中的数据量比较多,因此在这种情况下,我们需要每次从hive中读取一部分数据,先处理完,然后再次的读取下一部分数据,针对这种情况,pyhive也提供了对应的方法给我们处理,以下是一个对应的例子:#coding:utf-8import osimport sysfrom pyhive impor...

2019-09-02 18:26:32 861 1

原创 pip源的目录修改

在公司中,在使用python的过程中,我们经常会下载python的lib,而在下载lib的时候,公司的下载源有可能不存在,因此需要切换新的pip的下载源,这里讲述一下pip源的修改,以及应该注意的事项;在切换源时,只需要修改一下下载源的地址就可以了,我在网上找了一下,发现网上给的pip.conf的源的目录各式各样,并且有些有问题,我不知道是什么原因导致的,有可能和linux的版本不一样导致的,我...

2019-08-30 16:56:20 264

原创 python3之ftplib操作

在使用ftplib的时候,踩了很多坑,耗费了自己很多的时间,所以自己根据网上的博客和自己踩得坑,写了一个类,以后可以自己使用:#coding:utf-8import osimport sysimport ftplibimport configparserimport datetimeimport chardet class FTPSync(object): conn =...

2019-08-27 16:30:50 874

原创 python3操作excel之xlwt

xlwt是python创建excel的lib,在本人的操作过程中,发现xlwt中的一些比较常用而在网上又不是很容易找到的使用方法,这里写下这篇博客,供自己以后可能再次使用;(1)水平上的格式,居中,偏左,偏右的使用:import xlwt #设置单元格格式style = xlwt.XFStyle()#设置字体是否居中alignment = xlwt.Alignment()# 设置水...

2019-08-26 20:47:03 2039 1

原创 python3的字节码和字符码

在python3中,字节码和字符码发生了区分,即str1=b’i love python3’str2=‘i love python3’str1和str2归属于两种不同的类型,str1归属于bytes类型,str2归属于str类型这当中最大的好处是存储文件时对中文有很好的...

2019-08-25 10:11:00 370

原创 python3 paramiko环境问题解决方案

在使用python运行程序时,使用paramiko的时候会出现环境问题,即要使用的包或者库不在其中的情况,这个原因是因为默认情况下,paramiko在远程主机上执行命令的时候,命令的搜索路径为(/usr/local/bin:/bin:/usr/bin),这样我们安装的软件,如果命令不在这些路径下的话,就会执行错误,报找不到命令的错误;可以试验一下查看: import paramiko ...

2019-08-07 19:35:26 835

原创 linux上安装python的lib

在进行python开发的时候,经常会出现所需要的包不存在,因此需要安装python的包,目前最常用的时采用pip进行安装,这是一种最好用的方法,例如说要安装python的pika模块,该模块是与RabbitMQ进行通信的模块,如果linux上安装了pip,且网络正常的情况下,可以直接采用如下的操作:pip install pika,采用这个指令即可以正确安装了;但是在有些情况下,我们的服务器...

2019-07-23 21:18:34 933

原创 记一次mysql查询内存溢出的事情

我工作的大数据平台从上游系统抽数,由于上有系统比较复杂,因此采用自写的java代码从上游系统进行抽数,以应对不同的情况;上游系统比较复杂,有mysql,db2,oracle等各种系统,之前的抽数的系统比较简单,没有涉及到mysql数据库,涉及到的数据库表数据量也不是很大,因此之前也没有出现过问题;但是随着从上游系统抽数的表越来越多,涉及到了mysql的数据库表,这些表在开发环境上抽数没有关系,但...

2019-06-24 21:08:03 1367

空空如也

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

TA关注的人

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