自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(99)
  • 收藏
  • 关注

原创 Polars使用指南(二)

快速学习polars的高级用法

2024-01-12 19:46:09 707

原创 Polars使用指南(一)

快速了解使用polars

2024-01-10 11:13:44 1417

原创 python类内置隐式方法全解

在python类中,有很多已经定义好、具有特殊功能的隐式方法(魔法函数),如常用的__init____call__等,这些方法可以帮助我们实现一些特殊的功能。python类中的隐式方法名都以__(双下划线)开头,__(双下划线)结尾,并且都是内置定义好的,注意和自定义的私有方法区分。

2023-10-11 17:52:41 356

原创 pandas常见显示设置

在ide中debug的时候打印pandas.DataFrame经常会遇到各种显示问题,可通过各种设置解决。

2023-09-20 17:05:20 664

原创 Pandas API on Spark使用详解

在上一篇文章中我们介绍了《》,本篇文章我们继续介绍PySpark系列的第二个重要内容——Pandas API on Spark。PySpark DataFrame虽然已经很大程度上方便了代码开发,并且支持pandas udf,但是Python开发者仍然需要学习相关的API,这对于习惯使用Pandas的用户而言仍然不够友好。

2023-05-20 16:48:13 1301 1

原创 PySpark DataFrame使用详解

作为一款非常成熟的大数据工具,Spark已在业界获得了非常广泛的应用。而Python+Spark的结合产物PySpark更是集合了Python的易用和Spark的分布式计算能力,产生了1+1 > 2的效果。本系列文章将从《PySpark DataFrame》、《Pandas API on Spark》、《Spark on K8S》、《PySpark RDD》几个方面分别介绍PySpark的功能。

2023-05-11 18:22:47 1892 1

原创 python优化if/else

在任何语言中,if/else都是常见的编程语法,而且因为python中没有switch/case,所以if/else使用频率就会更高。但是当if/else判断分支比较多,而且业务逻辑比较复杂的时候,整体代码就会显得非常臃肿。例如,下面根据不同手机品牌添加对应不同处理逻辑的程序,如果有新的手机品牌,就要不断的写elif分支。对于这种情况有没有更加优雅的写法呢?

2023-04-07 17:30:08 942

原创 ClickHouse Projection

ClickHouse Projection的原理和使用

2022-08-11 17:13:38 1553

原创 ClickHouse 视图(View)

ClickHouse支持创建普通视图(normal view)、物化视图(materialized view)、实时视图(live view)和窗口视图(window view)。

2022-08-11 13:46:57 6607 1

原创 ClickHouse数据类型

ClickHouse支持非常丰富的数据类型,如果从数据类型和函数的角度去考虑,甚至可以认为ClickHouse SQL是一门编程语言。

2022-07-31 22:00:15 2060

原创 ClickHouse常用函数速查大全

ClickHouse主要有两种函数:常规函数和聚合函数,除此之外,还有 ‘arrayJoin’ 等特殊函数,我们将分别介绍。需要注意的是ClickHouse具有强类型限制,换句话说,它不进行类型之间的隐式转换,每个函数都适用于特定的类型参数。这意味着有时需要使用类型转换函数。如果下面函数执行报错,则可能是clickhouse版本不支持。toTypeName(0)1. 算术函数对于所有算术函数,计算结果类型向上兼容。SELECT toTypeName(0), toTypeName(0 + 0), t

2022-07-31 13:27:43 8078

原创 ClickHouse增加删除更新操作

前面我们已经介绍过 ClickHouse 是列式存储数据库,并且是按照有序存储、且按照索引粒度建立稀疏索引,所以 ClickHouse 是不擅长做 update/delete 操作的,对于需要经常变化的数据,也不建议使用clickhouse。但是并不是说clickhouse就不能更新数据,clickhouse提供了一种基于alter语句的“突变”(mutations)操作来实现更新/删除操作。在使用mutations操作之前需要注意:mutations操作需要重置分区,是一种“很重”的操作,更适用于操作

2022-05-22 11:49:05 5406

原创 ClickHouse查询语句详解

​ClickHouse查询语句兼容大部分SQL语法,并且进行了更加丰富的扩展,查询语句模板如下:[WITH expr_list|(subquery)]SELECT [DISTINCT [ON (column1, column2, ...)]] expr_list[FROM [db.]table | (subquery) | table_function] [FINAL][SAMPLE sample_coeff][ARRAY JOIN ...][GLOBAL] [ANY|ALL|ASOF] [IN

2022-04-20 20:08:09 14611

原创 ClickHouse MergeTree副本表和分布式表(切片)

在前面的文章中我们详细介绍了 MergeTree 表引擎、MergeTree 家族其他表引擎、MergeTree 二级索引等内容,clickhouse数据库都是在单节点上运行的,作为OLAP处理的大数据利器,clickhouse 显然少了两个功能——数据高可用(HA)和横向扩展。HA的目的是为了如果有一个数据副本丢失或者损坏不至于完全丢失数据,至于横向扩展自然是为了提高数据存储能力了。1. MergeTree副本表ClickHouse MergeTree 副本表的数据一致性同步是通过Zookeeper实

2022-04-13 17:48:03 2393

原创 ClickHouse MergeTree家族特殊表引擎

在前面的文章中,我们详细介绍了ClickHouse MergeTree表引擎的使用场景、原理、数据存储结构、建表语句以及索引优化。详见《ClickHouse MergeTree表引擎和建表语句》、《ClickHouse MergeTree二级索引/跳数索引》。MergeTree引擎表是使用最为广泛的表,除了MergeTree引擎表以外,MergeTree家族还有一些特殊的表引擎,在一些特殊场景中能够表现出更好地性能。例如,统计电商平台每天的销售额等。1. AggregatingMergeTree作为M

2022-04-05 21:45:17 3073

原创 ClickHouse MergeTree二级索引/跳数索引

在前一篇文章《ClickHouse MergeTree表引擎和建表语句》中,我们详细介绍了MergeTree的建表语句、存储结构和索引原理,本篇我们继续介绍MergeTree的另一个特性——二级索引,二级索引适用于所有MergeTree家族表引擎。在某些版本中,默认可能没有开启二级索引,可以通过下面的设置开启二级索引。SET allow_experimental_data_skipping_indices=1;在继续介绍之前我们先来回顾一下MergeTree的查询过程:当我们通过主键进行查询时

2022-04-03 16:38:24 8182 1

原创 ClickHouse MergeTree表引擎和建表语句

clickhouse使用场景ClickHouse是由俄罗斯Yandex公司开发的、面向列的数据库管理系统(DBMS),主要面向OLAP场景,用于在线分析处理查询,可以使用SQL查询实时生成数据分析结果。列式存储的好处就是当我们对列进行聚合等操作时,效率会大大优于行式存储,而且由于每一列的类型都是相同的,所以对于数据存储更容易进行压缩,可以对不同类型的列选择更合适的压缩算法,节约资源。clickhouse的设计也处处体现了俄罗斯的暴力美学,它不仅仅是一个数据库,还是一个数据库管理系统,后面我们在介绍基于S

2022-03-28 16:57:14 7016

原创 oracle查询语句

查看表空间使用情况SELECT a.tablespace_name "表空间名",total "表空间大小",free "表空间剩余大小",(total - free) "表空间使用大小",total / (1024 * 1024 * 1024) "表空间大小(G)",free / (1024 * 1024 * 1024) "表空间剩余大小(G)",(total - free) / (1024 * 1024 * 1024) "表空间使用大小(G)",round((total - free)

2021-08-19 09:20:47 366

原创 pandas to_sql到oracle没有数据

最近做数据处理的时候经常用到oracle,遇到挺多问题,其中一个就是如题,刷完数据也不报错,但是数据库就是没数据,排查半天,简直被坑惨。总结可以从下面几个方面排查问题:1 字段大小是否合适在数据库建表的时候,经常需要用到 varchar2 类型,因为 varchar2 类型的每个字符都是占两个字节,所以如果定义的时候是 varchar2(100),那么就表示只能存储不超过50个字符的记录。to_sql在执行的时候对这种问题是不报错的,所以如果刚好你的数据里面有了一条大于定义范围的数据,一般就会存储数据失

2021-08-16 10:12:58 1287

原创 青甘大环线游记

对大西北的向往由来已久,尤其是读书期间去过新疆以后对大西北就更是有一种莫名的憧憬。至于为何如此,或许是因为黄土高原的厚重,亦或许是因为青藏高原的纯真;或许是因为那举世闻名的敦煌莫高窟,亦或许是因为海子诗中的德令哈;或许是因为那照片上镶嵌在玉如意上的七彩丹霞,亦或许是因为屏幕中青海湖边上的那一抹天蓝和浪花;...... 当然,或许更多的是因为垂涎已久的牛羊肉和至今念念不忘的新疆哈密瓜。奈何工作以后始终不能抽出时间去奔往心中的圣地,真是应了那句:读书的时候有时间没钱,工作了有钱没时间。作为一名打工人,虽然依然还

2021-06-27 22:29:17 848 6

原创 python面试题思考

最近面试的时候在一家某券商企业遇到了一些关于python的问题,作为一名数据挖掘人员,虽然经常使用python,但是对于一些所以然的问题发现思考还是不深,或者以前在学习的时候有研究过,但是在工作中因为很少使用,所以就淡忘了。欢迎各位在评论区提供优质答案。1. 已知一个无序数字列表,里面只有一个元素是频数为1,找出这个元素。看到这个问题以后,笔者的第一反应是首先word count,然后找出频率值为1的元素;第二反应是利用hash code思想快速把相同的元素映射到同一个分区中;第三反应是首先对列表排

2021-05-19 14:33:35 201 2

原创 ZooKeeper原理和实践

一、什么是ZooKeeper ZooKeeper最早起源于雅虎研究院的一个研究小组。在当时,研究人员发现,在雅虎内部很多大型系统基本都需要依赖一个类似的系统来进行分布式协调,但是这些系统往往都存在分布式单点问题。所以,雅虎的开发人员就试图开发一个通用的无单点问题的分布式协调框架,以便让开发人员将精力集中在处理业务逻辑上。 读完上面这段话,是不是还是不明白。但是可以...

2021-04-25 22:17:02 324

原创 Hadoop笔记(5)HA和联邦机制

https://www.cnblogs.com/qcloud1001/p/7693476.html

2021-04-25 22:15:41 1354

原创 Hadoop笔记(4)yarn架构介绍

7. yarn资源管理者resourcemanagernodemanagerHadoop 中包含了两个独立的主从架构(Master / Slave)的集群:HDFS 和 YARN。HDFS的主节点的守护进程是:NameNode,从节点的守护进程是 DataNode。YARN的主节点的守护进程是:ResourceManager,从节点的守护进程是 NodeManagernamenode存储所有数据的元数据信息,那么必然要感知所有datanode的状态,一旦datanode上线或者下线,就.

2021-04-09 17:24:42 539 1

原创 Hadoop笔记(3)mapreduce原理和实践

6. mapreduce内部封装了mapper类和reduce类7. yarn资源管理者resourcemanagernodemanagerHadoop 中包含了两个独立的主从架构(Master / Slave)的集群:HDFS 和 YARN。HDFS的主节点的守护进程是:NameNode,从节点的守护进程是 DataNode。YARN的主节点的守护进程是:ResourceManager,从节点的守护进程是 NodeManagernamenode存储所有数据的元数据信息,那么必.

2021-04-06 16:37:27 372

原创 Hadoop笔记(2)hdfs

在前一篇文章中,我们简略宏观的介绍了Hadoop的整体技术架构,并介绍了Hadoop的三个主要主件:负责存储的hdfs、负责计算的mapreduce、负责调度的yarn。从存储的角度划分,Hadoop集群分为两种:存储数据的datanode和维护元数据的namenode,当然还有secondarynamenode协助namenode一起维护元数据信息。hdfs不适合存储小文件,例如图片信息,大量身份证照片并不适合直接存储在hdfs上,维护较多的元数据信息HDFS文件系统会给客户端提供一个统一的抽象目

2021-03-25 18:56:02 263 1

原创 机器学习笔记(十二)谱聚类原理和实践

本文我们继续介绍聚类家族中的另一个成员——谱聚类(Spectral clustering)。谱聚类最早来源于图论,后来由于性能优异,被广泛应用于聚类中。相比K-Means等聚类算法,谱聚类对数据分布的适应性更强(如kmeans要求数据为凸集,谱聚类对数据结构并没有太多的假设要求),聚类效果也很优秀,同时聚类的计算量也小很多(意味着更快的速度),也无需像GMM一样对数据的概率分布做假设,更加难能可贵的是实现起来也不复杂。因此,如果有一个需要尝试聚类解决的问题,那么谱聚类一定是你的优先选择之一。当然,每一种算法

2021-03-19 14:22:50 2555

原创 Hadoop笔记(1)Hadoop整体架构

筹谋大数据笔记久矣,然迟迟未能下笔,皆以无暇忙碌为由迟矣。余终悟之:明日复明日,明日成蹉跎。九层之台,起于累土。本系列文章也是以Apache Hadoop生态圈为主介绍大数据的相关知识,毕竟是主流应用,本文不会介绍详细的技术干货(从下一篇开始),主要介绍Hadoop的设计原因,在设计过程中要考虑的问题、注意的问题以及解决方法,正所谓知其然,更要知其所以然。本文的主要目的是为了先建立一个对Hadoop的整体认知,有助于后面更好的理解具体细节。话不多说,let's go。大数据(BigData)技术,很显然

2021-03-09 13:11:59 311 2

原创 机器学习笔记(十一)聚类算法OPTICS原理和实践

OPTICS聚类算法是基于密度的聚类算法,全称是Ordering points to identify the clustering structure。提到基于密度的聚类算法,应该很快会想到前面介绍的DBSCAN聚类算法,事实上,OPTICS也是为了优化DBSCAN而出现的。一、原理在DBSCAN算法中,有两个比较重要的参数:邻域半径eps和核心对象的最小邻域样本数min_samples,选择不同的参数会导致最终聚类的结果千差万别,而在高维数据中,两个参数的联合调参也不是一件容易的事。OPTICS

2021-02-24 18:59:05 8015 10

原创 机器学习笔记(十)聚类算法DBSCAN原理和实践

在前面的文章中,我们分别介绍了《K-means原理和实践》和《Birch和层次聚类》两种聚类算法,本文我们继续介绍另一种常用的聚类算法DBSCAN。相对于前两种算法,DBSCAN的原理要简单的多,但是这并不意味着它的效果就会差,在很多算法表现不好的非凸数据集上,DBSCAN往往能取得较好的效果,这也是DBSCAN最大的优势,而且DBSCAN还可以作为异常检测算法,发现噪声点(离群点)。1. 原理DBSCAN(Density-Based Spatial Clustering of Applicatio

2021-01-27 18:32:26 4638 1

原创 机器学习笔记(九)聚类算法Birch和层次聚类Hierarchical clustering

本篇文章我们继续介绍另一种聚类算法——Birch模型,相对于K-means和DBSCAN,Birch的应用并没有那么广泛,不过它也有一些独特的优势,Birch算法比较适合于数据量大,类别数K也比较多的情况,它运行速度很快,只需要单遍扫描数据集就能进行聚类,这在数据量日益庞大的今天是一个比较大的优势。一、原理Birch(Balanced Iterative Reducing and Clustering using Hierarchies)是层次聚类的典型代表,天生就是为处理超大规模数据集而设计的,它

2021-01-15 17:01:51 3523

原创 机器学习笔记(八)KNN原理详解和实践

一、KNN原理K近邻法(k-nearest neighbors,KNN)是一种应用比较多的机器学习算法模型,其核心思想就是未知的对象总是和距离自己最近的群体类似。简单地说就是一个人如果经常和好人走的近,那么我们可以认为(大概率)他是好人,如果他经常和坏人混迹在一起,那么我们就会认为他更可能是坏人,在推荐领域,KNN 可以用来为消费行为相似的人推荐商品。现在还有一个不确定的问题,就是距离最近的群体怎么衡量呢?这也正是KNN中K的含义,就是找距离自己最近的K个样本。这里需要注意 KNN 中的 K 和 K-M

2021-01-06 16:05:13 2348

原创 机器学习笔记(七)聚类算法K-means原理和实践

在机器学习领域,除以LR、DT、SVM等为代表的有监督算法外,还有另外一类特殊的存在——无监督算法,其中最为经典就是聚类算法了。聚类算法因为其不需要先验标签,因此在很多领域应用都较为广泛。聚类算法主要有:K-means、DBSCAN、Birch、Spectral clustering、OPTICS等,在本篇文章以及接下来的几篇文章中我们会依次介绍这些算法。1.K-means原理K-means的实现比较简单,聚类效果也不错,因此应用比较广泛。对于给定的样本集,K-means按照样本之间的距离大小,将.

2020-12-25 16:54:31 8855

原创 机器学习笔记(六)Boosting集成学习算法Adaboost和GBDT

在前一篇文章中我们介绍了集成学习算法中的Bagging模型,本篇文章将继续介绍集成学习算法中的另一个代表性算法Boosting模型。Boosting是一种可将弱学习器提升为强学习器的算法。其工作机制为:先从初始训练集训练出一个基学习器,再根据基学习器的表现对样本分布进行调整,使得先前的基学习器识别错误的训练样本在后面的基学习器中得到更多的关注(调高权重),然后基于调整后的样本分布来训练下一个基学习器;如此重复进行,直至基学习器数目达到实现指定的值,或整个集成结果达到退出条件,然后将这些学习器进行加权组合得到

2020-12-23 09:55:01 2179

原创 机器学习笔记(五)Bagging集成学习算法随机森林原理和实践

一、前言在前一篇文章《决策树原理和实践》中,我们介绍了决策树的相关原理和使用API,决策树在建模过程中需要剪枝等操作,而如果数据预处理不当或者剪枝不合理,又会造成过拟合等结果,或者建立的模型只在某个方面表现比较好。此时,我们会考虑建立单棵树模型可能会存在走上“歧途”的现象,那么是不是可以通过建立多棵树模型一起来判断结果呢?答案当然是可以的,具体怎么建立呢?如果使用相同的数据集和算法,那么建立的模型结果大概率也是相同的,就失去了意义。接下来的几篇文章我们将介绍集成学习算法(Ensemble learnin

2020-11-25 14:55:04 1911

原创 机器学习笔记(四)决策树原理和实践

一、背景在上一篇文章中,我们讲解了线性回归和逻辑回归的相关数学推导和Python实现,本篇文章我们将继续下一个机器学习中一个非常重要的模型——决策树的学习。决策树之所以叫决策树,是和它的原理紧密相关的,看下面这个场景,是不是很熟悉。首先看天气情况,然后根据天气情况做下一步决定,如果天气好,再看游泳馆是否开放,如果天气不好,再视父母是否在家来做决定,最终会有三种选择,或者可以认为是一个三分类问题。这就是一个典型的决策树场景,树的深度是3,从根节点(天气)开始,根据每一步的条件,决策下一步的计划(非叶子节点

2020-10-28 16:21:01 1083

原创 基于双k8s集群搭建联邦学习kubefate

一、前言关于联邦学习的背景这里就不做过多介绍了,感兴趣的同学可以去百度一下。联邦学习主要是为了解决数据孤岛和多方安全计算问题的,简单地说就是大家都拿出各自的数据一起建模,但是对方又不能看到或者得到自己的数据,训练的模型大家都可以用。联邦学习分为:横向联邦学习,在两个数据集的用户特征重叠较多而用户重叠较少的情况下,我们把数据集按照横向 (即用户维度)切分,并取出双方用户特征相同而用户不完全相同的那部分数据进行训练,例如,银行A和银行B都有自己的客户流水信息,特征是一样的,交易时间、金额等,但是用户不同

2020-08-27 11:18:44 1463 1

原创 pyecharts案例实践

最近在做一个数据分析的任务,需要用到一些可视化的分析工具。python中首选的可视化分析工具一般就是matplotlib和seaborn,搭配pandas可以绘制很多丰富的图形,但是总觉得和那些高大上的可视化大屏、前端页面差了点感觉,因此花了半天时间研究了一下pyecharts,因为我并不是从事前端开发工作,也没有任何js、html基础,因此都是比着官网demo照葫芦画瓢,然后再凭自己感觉调试,虽然还不能和那些高大上的页面比较,不过好像也有点那味了。O(∩_∩)O哈哈~Echarts是一个由百度开源的.

2020-08-16 13:20:45 2293

原创 机器学习笔记(三)线性回归逻辑回归原理和实践

线性回归和逻辑回归作为机器学习领域的基础模型,简单却也经典。机器学习领域一般有两种任务:分类和回归。分类通常是判断未知样本属于哪一类,例如0和1,好和坏,大和小等等,而回归不仅仅是判断是是什么,还要判断是多少的任务。一、线性回归线性回归是常见的机器学习模型,也是很多人学习机器学习的第一个模型,并且因为线性回归的数学原理比较简单,可以帮助初学者把机器学习和数学原理比较清晰的结合理解。1.1 平面拟合假如有一个银行贷款的任务,根据贷款人的工资和年龄来决定贷款金额。现在我们有一批银行实际的贷款数据

2020-08-15 17:35:01 702

原创 机器学习笔记(二)常用分析工具

机器学习常用的不仅仅是各种模型,还有数据分析、数据处理和可视化等,python、R等语言也提供了很多有用的工具包。一、pandaspandas在数据分析中的作用无需多数。下文的pd表示pandas库,df表示实际中的DataFrame实例。1. df.pivotpivot是pandas中的数据透视表操作,实际上就是针对某列的行转列操作,参数如下:pivot(self, index=None, columns=None, values=None)index是重塑的新表的索引名称是什么

2020-07-31 18:34:21 494

空空如也

空空如也

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

TA关注的人

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