avatar
Articles
136
Tags
34
Categories
0

Home
Archives
Links
Games
  • MikuTap 初音未来
  • StartBattle 星际大战
  • 2048 经典游戏
  • BattleCity 坦克大战
  • PacMan 吃豆人
  • Tetris 俄罗斯方块
  • CatchCat 困住小猫
Moments
  • Music
  • Diary
  • Gallery
More
  • Tags标签
  • About关于
  • Messageboard留言板
SilverSucks
Home
Archives
Links
Games
  • MikuTap 初音未来
  • StartBattle 星际大战
  • 2048 经典游戏
  • BattleCity 坦克大战
  • PacMan 吃豆人
  • Tetris 俄罗斯方块
  • CatchCat 困住小猫
Moments
  • Music
  • Diary
  • Gallery
More
  • Tags标签
  • About关于
  • Messageboard留言板

SilverSucks

【Spark】Spark本地与StandAlone模式
Created2023-07-12
AnacondaAnaconda是什么 1、Anaconda是一个工具包,里边包含了几百个开发工具,其中也包含Python2、Anaconda还可以模拟多个虚拟环境,在该虚拟环境中可以安装不同版本的软件,多个虚拟环境彼此独立,以后你可以自由选择使用哪一个虚拟环境3、你安装了Anaconda之后,自动会给你创建一个基础环境,名字为base Anaconda常用命令 查看当前服务器安装的所有虚拟环境 conda env list 创建新的虚拟环境conda create -n 虚拟环境的名字 python=版本 切换虚拟环境conda activate 虚拟环境名称 退出虚拟环境-进入上一个虚拟环境conda deactivate 删除某个虚拟环境conda remove -n 虚拟环境名称 —all 查看虚拟环境中安装的软件包conda list 卸载软件包conda uninstall 包名 或pip uninstall 包名 Demo123456789101112131415161718192021222324252627282930313233343536373839404 ...
【Spark】初识PySpark
Created2023-07-11
初识Spark按照知识点的重要性由高到低的顺序来进行归纳 分布式和集群这个东西一下让你说,你不一定能说的出来,概括一下吧 分布式: 强调的是将一个系统的资源由单机分散到多台机器上,一个字拆 强调多台机器做一样的事情 Spark模块 1、SparkCore:是Spark框架的核心,其他所有组件都基于SparkCore2、SparkSQL : 使用Spark + SQL语言来对大数据进行离线分析3、Spark Structed Streaming : Spark的实时部分,需要结合Kafka4、MLlib:Spark的机器学习库5:Graph:Spark的图计算 集群部署模式用的最多的就是Spark On Yarn模式 : Spark计算引擎 + Yarn调度器 12345678#1、本地模式(单机) 用于测试 #2、集群模式(多机) 了解:StandAlone模式 : Spark计算引擎 + Spark自带的资源调度器 重要:Spark On Yarn模式 : Spark计算引擎 + Yarn调度器 了解:Spark On Messos模式: Spark计算引擎 + Me ...
【Spark】PySpark刷题本(一)
Created2023-07-10
PySpark交互式编程如下chapter2-data1.txt,该数据集包含了某大学计算机系的成绩,数据格式如下所示: 1234567Tom,DataBase,80Tom,Algorithm,50Tom,DataStructure,60Jim,DataBase,90Jim,Algorithm,60Jim,DataStructure,80…… 请根据给定的实验数据,在pyspark中通过编程来计算以下内容: (1)该系总共有多少学生; (2)该系共开设了多少门课程; (3)Tom同学的总成绩平均分是多少; (4)求每名同学的选修的课程门数; (5)该系DataBase课程共有多少人选修; (6)各门课程的平均分是多少; (7)使用累加器计算共有多少人选了DataBase这门课。 Q1-求学生总数: 不管做什么首先需要从某个地方读取到需要处理的数据, Linux本地的路径协议是file://, 而HDFS的路径协议是hdfs://主机名:端口号. 所以第一步是读取文件,第二步是获取每行中的第一列. 第三步是将获取到的数据进行去重操作. 第四步是 ...
【PythonETL】订单数据采集业务
Created2023-07-09
到这里整个ETL全过程已经结束了, 没有很多花里胡哨的东西, 全是干货, 简单做个总结吧! 订单数据采集 业务需求: 1)将采集的订单JSON数据保存到目标数据库中 2)将采集的订单JSON写出到 CSV 文件中 3)采集数据时JSON文件不能重复采集 实现思路: 获取订单文件夹下面有哪些订单JSON文件 查询元数据库表中已经被采集的订单JSON文件,来对比确定要采集新的订单JSON文件 针对待采集的新订单JSON文件,进行数据采集(ETL操作->mysql->csv) 将本次采集的订单JSON文件,记录到元数据库的表中 json模块的使用 json.loads 将JSON字符串数据转换为Python中的数据类型 json.dumps 将python中的数据类型转换为JSON字符串 jsonloads和jsonload的最大区别就是jsonload的参数是一个json文件,而jsonloads的参数是字符串 事务: 注意事务的开启时机以及事务的提交时机,事务的提交时机是一个文件写入完毕,没有出现错误,由此可以判断事务的开启时机元数据: 注意元数据表中的字段(id自 ...
【PythonETL】条码商品采集业务
Created2023-07-08
​ 商品数据采集主要分为三个部分: 1, 获取上次记录的最大时间值(从元数据库的表中获取). 2, 根据上一次采集商品数据中updateAt的最大值查询数据源库商品表,获取继上一次采集之后,新增和更新的商品数据.3, 针对新增和更新的商品数据,进行数据采集(ETL->mysql->csv) 需要优化的点:1,使用事务,事务的使用需要结合try, except, else来使用.同时注意执行事务操作不需要调用工具类中的execute函数,因为函数会自动commit, 所以需要自定义without_commit,而且如果设置每执行1000条sql就提交一次事务,而在for,else中使用事务再次提交一次2,使用日志工具(每执行1000句sql就记录一下,同时提交事务.日志的设置比较随便,仁者见仁智者见智.3,将读取到的数据记录写入元数据表中,注意元数据表中的字段,一个是记录本次采集的最大时间(updatetime),以及采集到了哪一行,方便后续的采集动作.4,使用time工具计算执行所需的时间,strat_time = time.time() 模型文件 使用一个元 ...
【PythonETL】日志文件处理
Created2023-07-07
日志文件处理 ​ 这个主题主要工作大体上分为两个部分,第一部分是从元数据库中获取已经处理的文件,然后将文件与全部文件(列表)进行对比,最后获取需要处理的文件列表.第二个部分是将日志文件输出到数据库中,并且对文件进行备份操作(转为csv文件) Experience 首先由于python解释器以及pycharm是在虚拟机中运行的,导致我的文件路径python一直读取不了,所以日志文件目录也是获取不了的.(后来发现是系统的权限的原因,权限我改不了,直接换路径) 需要有列表嵌套对象的思想,我觉得这是ETL中最重要的,学生管理系统教会了我列表中嵌套字典,这也是一种收获吧! 要通过事务来写入数据到mysql中,遇到报错要回滚,没有报错再提交,还有读取一个文件需要flush一次,以及提交一次到数据库中吧 PART1 从元数据库中获取已经处理的文件 首先创建一个元数据库的连接 调用mysql_util快速获取一个对象 查看元数据库是否存在,不存在则创建(mysql_util中的方法) 查询元数据库中的元数据表(得到元组嵌套元组) 因为file_util工具对比的是两个列表需要将元组转换为列表 ...
【PythonETL】工欲善其事,必先利其器
Created2023-07-06
LoggingModule 日志模块 ​ 作用: 方便后续在 ETL 程序中记录日志 ​ 目标: 当我们在项目的其他位置使用logging模块进行日志记录时,不需要进行配置或者只需要进行简单的配置即可使用. 为了更方便的使用logging,我们在日志模块中创建一个日志类Logging,专门管理日志器对象 重点: 在创建日志类时可以同时传入日志级别,方便日志级别控制 创建init_logger函数快速创建日志器对象,并完成日志处理器和日志格式的绑定. 重点: 返回值是一个日志器对象 首先回顾一下日志logger的食用方式. 创建日志对象logger = logging.getLogger() 创建文件处理器FileHandler(流处理器StreamHandler) handler = logging.FileHandler() 创建日志格式对象fmt = logging.Formatter('%(asctime)s %(levelname)s %(message)s') 给处理器设置格式handler.setFormatter(fat) 将处理器 ...
【Java查漏补缺(四)】常用API之ArrayList
Created2023-07-05
ArrayList是什么 ArrayList表示一种集合,它是一个容器,用来装数据的,类似于数组。 Q: 那有了数组,为什么要有集合呢? A: 因为数组一旦创建大小不变,比如创建一个长度为3的数组,就只能存储3个元素,想要存储第4个元素就不行。而集合是大小可变的,想要存储几个元素就存储几个元素,在实际工作中用得更多。 ArrayList常用方法 创建一个ArrayList的集合对象ArrayList <String> list = new ArrayList<>() 往集合中的某个索引位置处添加一个数据list.add(0,"小威"); 根据索引获取集合中某个索引位置处的值list.indexOf("小威") 获取集合的大小list.size() 根据索引删除集合中的某个元素值,会返回被删除的元素值list.remove(0) 根据元素值删除某个元素,删除成功会返回true,反之false.list.remove("小华") 修改某个索引位置处的数据,修改后会返回原来的值list.s ...
【Java查漏补缺(三)】常用API之String
Created2023-07-04
String字符串定义 1. String是什么,可以做什么?答:String**代表字符串,可以用来创建对象封装字符串数据,并对其进行处理。2.String类创建对象封装字符串数据的方式有几种?方式一: 直接使用双引号“…” 。方式二:new String类,调用构造器初始化字符串对象。 基础Code 12345678910111213String name = "小明";System.out.println(name);String s1 = new String("小李");System.out.println(s1);char[] char1 = {'a', '挨', '踢'};String s2 = new String(char1);System.out.println(s2);byte[] by = {99, 65, 102}; // 注意a = 65 A = 97String s3 = new String(by);Syst ...
【剑指offer】树
Created2023-07-03
树Retrospect基本概念树 节点的度数为节点的孩子个数(和图不一样,出度和入度都是节点的度数) 树的节点数等于所有节点的度数和+1(二叉树的节点个数可以直接推算出来的(考试当场演算-ps:5语)) 树根为第一层(学计算机的都知道万物是从0开始的(狗头) - 跟常识相违背啊) 度为m的树第i层最多有mi-1个节点 二叉树 n0=n2+1 第i层最多有2i-1个节点 h层二叉树最多有2h-1个节点 暂时就说这么多吧,都是应付考试的东西,讲真全靠记忆. 树的遍历Traversal 树的遍历分为先序遍历,中序遍历,后序遍历 口述一下三种方式的特征吧: 先序遍历(根 - 左 - 右) 中序遍历(左 - 根 - 右) 后序遍历(左 - 右 - 根) 例如: 先序序列:ABDEGHCF; 中序序列:DBGEHACF; 后序序列:DGHEBFCA。 补充:二叉树也称为二分树,它是树形结构的一种,其特点是每个结点至多有二棵子树,并且二叉树的子树有左右之分,其次序不能任意颠倒。二叉树的遍历序列按照访问根节点的顺序分为先序(先访问根节点,接下来先序访问左子树,再先序 ...
1…567…14
avatar
Johnson Liam
机器都在学习,你有什么理由不学习?
Articles
136
Tags
34
Categories
0
Follow Me
Announcement
网站由Github服务器托管,感谢支持!
Recent Post
【FLink教育】Hudi整合Hive实现湖仓一体2023-09-16
【FLink教育】FlinkCDC介绍&集成Hive2023-09-15
【FLink教育】Flink技术选型2023-09-14
ClickHouse全面解析2023-09-13
【Flink】FlinkSQL| 状态编程| 自定义函数2023-09-12
Tags
ETL FineBI Flink Git Github HDFS HQL Hadoop Hexo Hive Interview Java Kafka Kettle Linux MapReduce MySQL Presto Pycharm Python Shell Spark Spark项目 Spider Sqoop Zookeeper 前端 剑指offer 基本语法 数仓 数据结构 计网 集群 面向对象ETL FineBI Flink Git Github HDFS HQL Hadoop Hexo Hive Interview Java Kafka Kettle Linux MapReduce MySQL Presto Pycharm Python Shell Spark Spark项目 Spider Sqoop Zookeeper 前端 剑指offer 基本语法 数仓 数据结构 计网 集群 面向对象
Archives
  • September 202316
  • August 202316
  • July 202330
  • June 202322
  • May 202335
  • April 202313
  • July 20201
  • June 20203
Info
Article :
136
UV :
PV :
Last Push :
©2020 - 2023 By Johnson Liam
Framework Hexo|Theme Butterfly
Welcome to 小威の Blog!