自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 使用DrissionPage爬虫通过滑块验证码

需要注意的是,严格一些的验证码会检测鼠标速度和轨迹,如果速度完全匀速,轨迹是一条直线是过不了的,所以在这里一个300像素的滑动条我们把前面200 使用鼠标速度0.1,也就是让鼠标稍微快一些,后面100用0.5让鼠标速度慢一些,上下滑动增加一个随机数,模拟人手抖动和速度。今天只写一个,用DrissionPage过滑动验证码。使用该模块的动作链功能去模拟鼠标操作。首先,找到对应的元素的位置。

2024-06-13 17:28:41 2330 2

原创 pyflink遇到的问题

【代码】pyflink遇到的问题。

2024-03-21 11:22:03 243

原创 python 异步协程最简单教学

python异步编程

2023-02-13 17:48:51 964

原创 CentOs安装chrome

centos安装chrome及驱动

2023-02-07 17:37:12 3403 1

原创 selenium + chrome 设置需要用户认证的代理

selenium+chrome使用代理ip

2023-02-01 18:56:54 1302 1

原创 hive永久添加udf

udf、udaf、udtf

2022-11-09 17:35:52 1092

原创 hive3 个人笔记

hive个人笔记

2022-10-17 15:26:17 95

原创 pandas函数合集

pandas函数合集

2022-09-15 11:05:37 138

原创 pyspark 读写es和mysql

pyspark 读写es

2022-09-02 19:17:58 1077 3

原创 python logging模块的使用

python logging模块

2022-08-24 14:12:35 225

原创 python使用堡垒机连接hive和mysql

python 通过堡垒机/跳板机登陆hive和mysql

2022-08-15 12:00:32 949

原创 PYSPARK ON YARN报错集合

pyspark报错整理

2022-08-05 13:23:12 2853

原创 window搭建pyspark环境,不需要hadoop

Windows搭建PySpark开发环境,不需要安装Hadoop

2022-07-29 19:18:59 1338

原创 hive函数技巧整理

select count(*) from (select *,'a' as numfrom a left join b on a.id = b.id1 and a.name = 'a'

2022-06-29 21:17:47 671

原创 pyspark学习

pyspark学习入门

2022-06-15 11:54:16 275

原创 python各类算法集合(不断收集中)

算法

2022-06-06 20:12:37 124

原创 python 创建和使用线程池

众所周知,python3多线程有threading,很好的支持了多线程,那么问题来了,为什么还需要线程池呢,其实很好回答,如果你要爬取网站有八百页,每页设置一个线程,难道能开启八百个么,光切换的时间也很高了吧。这时候就需要用到线程池,可以设置一个20的线程池,同时只有20个县城在运行,剩下的排队。直接上讲解线程池模块在threading中是没有线程池相关功能的,想要运行线程池需要自己重写,很明显向我这么懒不可能重写,而且自己编写线程池很难写的比较完美,还需要考虑复杂情况下的线程同步,很容易发生死锁。所以

2022-03-30 17:05:32 5636

原创 pyflink datastream 定时器timer详解

代码import datetimefrom pyflink.common import Row, WatermarkStrategyfrom pyflink.common.typeinfo import Typesfrom pyflink.common.watermark_strategy import TimestampAssignerfrom pyflink.datastream import StreamExecutionEnvironmentfrom pyflink.datastrea

2022-03-25 19:10:51 1583 1

原创 pyflink datastream状态(state)详解

先上代码#!/usr/bin/env python# -*- coding: UTF-8 -*-"""@Project :data-integration@File :pyflink_datastream_state.py@Effect :@Author :duanzebing@Date :2022/3/24 2:10 下午-----------------------------------------updatedate author effe

2022-03-25 17:12:07 1174

原创 pyspark从hive导出数据到clickhouse

需求从hive导出数据导clickhouse 大概有两百个字段,两千多万数据,30G左右实现采用pyspark导入,先上代码#_*_ coding=UTF-8 _*_import osimport sysfrom pyspark.sql import SparkSessiondef sparksession_read_hive(): # .master("local[*]") spark = SparkSession.builder.appName('bi_pharaoh_mk

2022-03-16 17:54:58 5362

原创 pandas大数据量rank函数nan无数据 以及 SettingWithCopyWarning告警问题解决

rank函数问题刚一开始是这么写的df_init_['序号'] = df_init_.更新时间.rank(axis=0, method='max', na_option='bottom') # 按照支付时间排序,结果发现自己造的十几条数据没有任何问题,也能按照预期排序,但一放进生产上,‘序号’这一列就全部都是nan,如图注意看最后一列,也就是‘序号’列,都是nan值,百思不得其解,后来在官网上找到这么几句话这里说的很简单,推荐使用df.loc[]这种方式,不推荐使用df[columns.

2022-03-07 16:46:50 2918

原创 pyflinkf初试:table API与 datastream API

tableAPI没啥好说的,就是flinksqldatastreamAPI重点的有几个算子:map:对数据进行函数操作,map传入一个方法,方法入参为整个数据流,但在方法内部以列表的形式处理filter:该算子将按照条件对输入数据集进行筛选操作,将符合条件的数据集输出最重要的就是map,因为map方法能做到一些flinksql做不到的事情:例如:要判断数据大于100,则则发送消息,很显然,在sql里无法判断也无法发送。#!/usr/bin/env python# -*- coding: UTF

2022-02-11 15:49:49 927

原创 hive 炸裂函数的使用

hive中,炸裂函数有两个explode 和posexplode都是可以把数组类型或map类型的字段拆分成多行,属于udtf函数。也可以配合split函数使用。lateral view侧写函数只要是想查询除exlpode之外的字段就要使用侧写函数lateral view;posexplode 是在explode 的基础上多生成一列索引列,索引从0开始,用法如下:select dept_id,name,idx,colfrom sys_deptlateral view posexplode(s

2022-01-12 11:38:30 5628

原创 sqoop从hive导入orc格式数据到mysql

首先上命令,因为我是在python中执行的,所以得以命令行的形式传递到调度:import subprocess as commandscommand = 'sqoop export ' \ "--connect 'jdbc:mysql://{host}/{db}?characterEncoding=utf8&autoReconnect=true' " \ '--username {user} ' \ '--pa

2021-12-15 19:53:02 3152

原创 python操作邮箱发送邮件和接收邮件

首先,用到的模块import loggingimport tracebackfrom email.mime.application import MIMEApplicationimport osimport smtplibfrom email.mime.multipart import MIMEMultipartfrom email.utils import formataddrfrom email.mime.text import MIMETextfrom poplib import P

2021-11-18 16:45:19 1940

原创 python主线程捕获子线程异常

import queueimport threadingimport sysdef thread_text(q, i): try: time.sleep(i) raise Exception('子线程异常') except: q.put(sys.exc_info()) # time.sleep(1)if __name__ =='__main__': q = queue.Queue() t = threading.

2021-10-23 15:06:08 5682 1

原创 python读取es数据库数据并导入hive

最近公司需要从es数据库导入到数仓,记录一下遇到的坑。还是蛮多的。首先是用到的库import csvimport threadingimport timeimport loggingimport tracebackfrom datetime import datetime, timedeltaimport pandas as pdfrom elasticsearch import Elasticsearchfrom hdfs.client import InsecureClientfr

2021-10-20 22:56:19 1558

原创 python使用openpyxl操作excel

# 获取所有sheet页wb.sheetnames# 根据名字获取sheetwb['name']# 创建sheetwb.create_sheet(title='name',index = 1)设置边框/字体/对齐方式/背景from openpyxl.styles import Border, Side, Alignment, Font, Color, PatternFillfrom openpyxl.utils import get_column_letter, column_index

2021-09-13 17:43:11 358

原创 pandas读取多层嵌套json

与第三方API接口对接的时候,是经常会遇到多层嵌套的json的,而我们需要的数据可能仅仅是某几个,或者是需要转换成二维表用来存入数据库。通常我都是用遍历来一遍一遍的for循环获取,但这样效率差劲不说,代码还显得特别low,今天安利一个非常快捷的工具给大家---pd.json_normalize。 首先导入相关库 import pandas as pdfrom pandas.io.json import json_normalize设定一个jsondf = { "error"

2021-08-19 15:34:06 6310 1

空空如也

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

TA关注的人

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