- 博客(158)
- 收藏
- 关注
原创 python写入Excel创建sheet
今天遇到了一个需求:把大量数据写入excel表格(工作簿),数据分成三类,每一类放进一个sheet,参照了一个教程,这里用的是xlwt和xlrd发现新建sheet的时候,前几个sheet都被清空,内容被覆盖掉了,所以在此作了调整,设置全局变量xls_file,用于存储工作簿尤其注意以下两行代码,修复了这个问题rb = xlrd.open_workbook(path, formatting_info=True)workbook = copy(rb)以下是完整代码:import xlrdimp
2021-07-29 22:31:47
2399
翻译 Hive:SQL请求将表拆分为大约相同大小的N个表?
Hive:SQL请求将表拆分为大约相同大小的N个表?Q:我有一个巨大的Hive表,由于单个本地节点安装上的Java堆大小不足,MapReduce作业无法处理。由于此节点上缺少物理内存,因此无法增加YARN堆大小。作为一个解决方法,我正在考虑将这个巨大的表分成几个大小相同且结构相同的小型表(模式)。假设有2 000 000条记录分为5个表,每个表有4 000 000条记录。以这种方式拆分Hive表的SQL请求是什么?A:首先,我会深入研究为什么你会出现堆大小错误。这通常表示配置错误的群集。理论上,Hiv
2021-07-17 13:24:35
1934
1
原创 FlinkSql窗口概念,及水印使用
双流join的情况下,watermark的获取方式为:1.分别计算俩条流的watermark2.然后比对俩条流的watermark选取小的 ->CombineWatermark = min(watermark1,watermark2)双流join关于的Interval Join的实现Interval Join则没有window的概念,直接用时间戳作为关联的条件,更具表达力。由于流消息的无限性以及消息乱序的影响,本应关联上的消息可能进入处理系统的时间有较大差异,一条流中的消息,可能需要和另一条流
2021-03-06 10:44:28
1649
原创 豆瓣Top250脚本爬虫
#-*- coding = utf-8 -*-#@Time : 2020/9/11 17:01#@Author: wang#@File : douBanTop250.py#@software : PyCharmimport urllib.request,urllib.errorfrom bs4 import BeautifulSoupimport reimport xlwtdef main(): datalist=[] url="https://movie.doub
2020-09-29 14:56:35
181
原创 数仓效能指标评估
参照:https://insights.thoughtworks.cn/data-zhongtai-maturity-model/https://www.cmmiinstitute.com/getattachment/eb414209-110e-491b-b45c-c5b2fa6a5d54/attachment.aspxhttps://www.ibm.com/developerworks/cn/data/dmmag/1204/Big_Data_Governance.pdf
2020-08-31 17:59:52
355
原创 Flink-sql-clinet建表语句DDL与yaml映射关系
kafkaTopic:Rides消息:{“rideId”:18024,“isStart”:false,“taxiId”:2013006624,“eventTime”:“2013-01-01T00:53:00Z”,“lon”:-73.98275,“lat”:40.747662,“psgCnt”:3}{“rideId”:18052,“isStart”:false,“taxiId”:2013005498,“eventTime”:“2013-01-01T00:53:00Z”,“lon”:-74.008278
2020-07-31 19:47:23
675
原创 Flink-sql三个时间的定义
flinksql是不存储数据的,数据依赖自外部存储系统如 mysql,kafka等因为动态表只是一个逻辑概念,所以Flink并不拥有数据本身。相反,动态表的内容存储在外部系统(例如数据库,键值存储,消息队列)或文件中。...
2020-07-28 09:30:16
794
原创 FlinkSqlClient的yaml配置文件详解
################################################################################Copyright 2019 Ververica GmbHLicensed under the Apache License, Version 2.0 (the “License”);you may not use this file except in compliance with the License.You may obtain a
2020-07-27 15:08:54
2758
原创 docker常用命令总结
查看docker镜像:docker imagesdocker启动镜像(后台):$ docker run -it -d REPOSITORY:TAG /bin/bash查看正在运行的镜像:docker ps查看所有镜像:docker ps -a进入到镜像目录内部: docker exec -it containerID /bin/bash启动docker目录上的yaml配置文件里的所用镜像 :docker-compose up -d启动docker目录上的指定配置yaml文件的镜像:docker
2020-07-27 10:31:05
205
1
原创 数据分析中常用的计算方法
0-1标准化:https://zhuanlan.zhihu.com/p/63624693百分位法:https://www.zhihu.com/question/20575291
2020-07-20 09:52:38
470
原创 kimball与onedata建模方法论的区别
kimball维度建模方法Kimball维度建模四大过程1)选择业务过程业务过程是主体完成的活动,是维度建模的基础。客观来描述很抽象,举例来说明。下单、付款、发货和完成订单都可以叫作业务过程,完成活动的主体有些差异。去理解和描述业务过程是后续过程的前置条件。2)声明粒度声明粒度是建模过程中非常精细的一环,因为粒度是要清晰的表名事实表的每一行数据代表的意义。还是举例来说明,订单表每一条数据都是一个独立的订单(父子订单等情况后续博客会再论述)。后续维度和事实必须要和此时声明的粒度保持一致,所以此
2020-07-10 14:19:51
1231
原创 HIVE SQL ——订单消费天数累加
数据: user:用户,num:下单次数,date消费日期user num date A 1 20200206A 2 20200517A 2 20200530A 4 20200611A 6 20201111B 1 20201113B 5 20201210B 3 20210222需求:按照一个人的订单日期从1开始排序累加,并计算下一笔订单距离上一笔订单间隔
2020-07-10 10:17:57
1010
原创 JanusGraph学习之图基本概念与操作(一)
图基本概念图Graph:指关系图。比如:同学及朋友关系图、银行转账图等。顶点Vertex:一般指实体。比如:人、账户等。边Edge:一般指关系。比如:朋友关系、转账动作等。属性Property:顶点或边可以包含属性,比如:人的姓名、人的年龄、转账的时间。图基本操作V()、E()、id()、label()、properties()、valueMap()、values()grap...
2020-03-12 22:30:30
1979
1
原创 JanusGraph图数据库系统简介
JanusGraph简介JanusGraph是一个可扩展的图数据库,可以把包含数千亿个顶点和边的图存储在多机集群上。它支持事务,支持数千用户实时、并发访问存储在其中的图。我们可以将图数据库系统的应用领域划分成以下两部分:用于联机事务图的持久化技术(通常直接实时地从应用程序中访问)。这类技术被称为图数据库,它们和“通常的”关系型数据库世界中的联机事务处理(Online Transacti...
2020-03-12 12:03:34
640
原创 Neo4j COL语法之创建标签
Neo4j CQL - CREATE创建标签Label是Neo4j数据库中的节点或关系的名称或标识符。我们可以将此标签名称称为关系为“关系类型”。Neo4j支持节点多个标签,关系单标签使用Neo4j CQL CREATE命令为节点创建单个标签为节点创建多个标签为关系创建单个标签为节点创建单个标签语法CREATE (<node-name>:<label-n...
2020-03-12 09:56:55
721
原创 Neo4j COL语法之关系基础
Neo4j-没有属性的关系与现有节点当数据库内存在俩个节点时,需要先match匹配然后create创建关系(可以在该关系上增加属性看具体业务情况)当数据库内不存在俩个节点时,直接create创建节点和关系(可以在该关系上增加属性看具体业务情况)给已存在的俩个节点创建关系(无属性)match (card:Creditcard),(cus:Customer) #数据库现有的俩个节点cre...
2020-03-12 09:40:17
232
原创 Neo4j COL语法之索引/UNIQUE约束
Neo4j SQL支持节点或关系属性上的索引,以提高应用程序的性能。我们可以为具有相同标签名称的所有节点的属性创建索引。我们可以在MATCH或WHERE或IN运算符上使用这些索引列来改进CQL Command的执行。Neo4J索引操作Create Index 创建索引Drop Index 丢弃索引语法CREATE INDEX ON :<label_name> (&...
2020-03-11 22:11:12
963
原创 Neo4j COL语法之关系函数
Neo4j CQL提供了一组关系函数,以在获取开始节点,结束节点等细节时知道关系的细节。在这里,我们将讨论一些重要的和经常使用的功能。关系函数列表STARTNODE ENDNODE它需要一个字符串作为输入并转换为大写字母。 所有CQL函数应使用“()”括号。函数语法STARTNODE (<relationship-node-name>)<rel...
2020-03-11 21:14:12
329
原创 Neo4j COL语法之AGGREGATION聚合
和SQL一样,Neo4j CQL提供了一些在RETURN子句中使用的聚合函数。 它类似于SQL中的GROUP BY子句。我们可以使用MATCH命令中的RETURN +聚合函数来处理一组节点并返回一些聚合值。为集合计算数据,Cypher提供聚类功能,与SQL的group by类似。在return语句中发现的任何聚类函数,所有没有聚类函数的列将作为聚合key使用。聚合函数列表COUNT(...
2020-03-11 20:55:00
340
原创 Neo4j COL语法之字符串函数
与SQL一样,Neo4J CQL提供了一组String函数,用于在CQL查询中获取所需的结果。这里我们将讨论一些重要的和经常使用的功能。字符串函数列表upper它需要一个字符串作为输入并转换为大写字母。 所有CQL函数应使用“()”括号。函数语法<input-string>可以是来自Neo4J数据库的节点或关系的属性名称UPPER (<input-...
2020-03-11 20:41:32
453
原创 Neo4j COL语法之MERGE/NULL/属性ID
MERGENeo4j使用CQL MERGE命令 -创建节点,关系和属性为从数据库检索数据MERGE命令是CREATE命令和MATCH命令的组合。MERGE = CREATE + MATCHtips:merge与create的区别是create可以创建重复的数据而merge创建重复的数据会自动去掉重,数据库只会显示一条数据该创建语句的数据结果会在数据库里显示三条一样的信息cr...
2020-03-11 17:15:58
857
原创 Neo4j COL语法之UNION/LIMIT/SKIP
UNION与SQL一样,Neo4j CQL有两个子句,将两个不同的结果合并成一组结果UNIONUNION ALLUNION子句 它将两组结果中的公共行组合并返回到一组结果中。 它不从两个节点返回重复的行。限制: 结果列类型和来自两组结果的名称必须匹配,这意味着列名称应该相同,列的数据类型应该相同。我们将采取一个银行应用程序的节点:信用卡式和借记卡解释UNION子句创建信用卡节点...
2020-03-11 15:21:24
526
原创 Neo4j COL语法之SET/sort
Neo4j CQL已提供SET子句来执行以下操作。向现有节点或关系添加新属性添加或更新属性值创建节点CREATE (book:Book {id:122,title:"Neo4j Tutorial",pages:340,price:250}) 新增属性match (book:Book)set book.author="wang" # book节点会新增一个author属性 值为w...
2020-03-11 11:54:26
262
原创 Neo4j COL语法之DELETE/REMOVE
DELETE语法(删除节点和关联关系)delete节点:match(node1:node1-label-name) return node1 // 返回node1节点的信息match(node1:node1-label-name) delete node1// 删除node1节点的信息delete节点和关系match(node1-name:node1-label-name)-[rela...
2020-03-11 10:42:14
349
原创 Mysql性能优化Explain使用分析
简介MySQL 提供了一个 EXPLAIN 命令, 它可以对 SELECT 语句进行分析, 并输出 SELECT 执行的详细信息, 以供开发人员针对性优化.EXPLAIN 命令用法十分简单, 在 SELECT 语句前加上 Explain 就可以了, 例如: EXPLAIN SELECT * from user_info WHERE id < 300;准备为了接下来方便演示 EX...
2020-02-25 10:01:50
203
原创 HIVE工作流程
HIVE是什么?Hive是hadoop上处理结构化数据的数据仓库基础工具,用来处理存储在hadoop上的海量数据,使用hive可以使查询和分析变得更简单。Hive起初是有facebook开发,后来贡献给apache基金会的,apache对它做了进一步的开发并开源。Hive不合适做哪些事情?1.hive不是一个关系型数据库2.Hive不适合做为在线事务处理(OLTP)的系统3.Hive不...
2019-10-31 17:35:56
524
原创 Hdfs架构
Hadoop文件存储的基础是HDFS(Hadoop Distributed File System),HDFS的实现依赖于NameNode和DataNode,DataNode用来存储具体数据,NameNode用来管理多个DataNode中分别存储的是什么。理解起来也不难,因为HDFS是分布式的文件系统,也就是有很多机器用来存储数据,一个大文件可能分布在多个机器上,也可能是一台机器上,具体分布在哪...
2019-10-31 17:35:33
131
原创 hiveDDL建表语句
从本地文件拷贝到数据库(load用法)load data local inpath ‘/home/alwaysdazz/3.txt’ into table hadoop如果文件已经在hdfs上,则load就变成了移动命令即使自己使用hadoop命令 put到hdfs上的hadoop目录 hive也能查询出(既 select * from hadoop)可以查出在该目录下的所有表如果随意上传...
2019-10-31 17:35:17
262
原创 Flink on Yarn的两种运行方式
Flink on Yarn的两种运行方式第一种【yarn-session.sh(开辟资源)+flink run(提交任务)】•启动一个一直运行的flink集群•./bin/yarn-session.sh -n 2 -jm 1024 -tm 1024 [-d]•附着到一个已存在的flink yarn session•./bin/yarn-session.sh -id application...
2019-10-31 17:34:39
180
原创 彻底删除Kafka中的topic
1、删除kafka存储目录(server.properties文件log.dirs配置,默认为"/tmp/kafka-logs")相关topic目录2、Kafka 删除topic的命令是:./bin/kafka-topics --delete --zookeeper 【zookeeper server】 --topic 【topic name】如果kafaka启动时加...
2019-10-31 17:34:01
108
原创 akka的actor可以实现spark的常驻
package sparkcontext_actorimport akka.actor.{ActorSystem, Props}//akka的actor可以实现spark的常驻import scala.io.StdIn/*创建actorsystem一个实例,然后由实例创建一个子actor--> as.actorof 返回的是一个actor的代理 actorref,由actorr...
2019-10-31 17:33:40
166
原创 GenericObjectPool实现了线程池中的对象回收和管理等功能(spark-mysql)
package sparkstreamingimport java.util.Propertiesimport org.apache.spark.streaming.{Seconds, StreamingContext}import org.apache.spark.{SparkConf, SparkContext}import poolutils.MysqlPoolobject ...
2019-10-31 17:33:23
350
原创 zk维护kafkaoffset
package spark_guohangimport java.util.Propertiesimport kafka.common.TopicAndPartitionimport org.apache.hadoop.hbase.util.Bytesimport org.apache.spark.streaming.kafka010.OffsetRangeimport org.ap...
2019-10-31 17:33:03
177
原创 Actor模型
1.Actor模型在使用Java进行并发编程时需要特别的关注锁和内存原子性等一系列线程问题,而Actor模型内部的状态由它自己维护即它内部数据只能由它自己修改(通过消息传递来进行状态修改),所以使用Actors模型进行并发编程可以很好地避免这些问题,Actor由状态(state)、行为(Behavior)和邮箱(mailBox)三部分组成状态(state):Actor中的状态指的是Actor对...
2019-10-31 17:32:39
145
转载 Kafka文件的存储机制
<div id="post_detail"> Kafka文件的存储机制 Kafka文件的存储机制同一个topic下有多个不同的partition,每个partition为一个目录,partition命名的规则是topic的名称加上一个序号,序号从0开始。每一个partition目录下的文件被平均切割成大小相等(默认...
2019-10-31 17:32:13
103
原创 Spark简介及运行流程图文解说
原 Spark简介及运行流程图文解说 2018年06月20日 16:15:02 咸鱼出击 阅读数:565 ...
2019-10-31 17:30:58
140
原创 hive数据抽样的方法
块抽样(Block Sampling)Hive 本身提供了抽样函数,使用 TABLESAMPLE 抽取指定的 行数/比例/大小,举例:CREATE TABLE iteblog AS SELECT * FROM iteblog1 TABLESAMPLE(1000 ROWS);CREATE TABLE iteblog AS SELECT * FROM iteblog1 TABLESAMPLE (...
2019-10-31 17:29:43
190
原创 hive之间的各种join和使用
转自https://blog.youkuaiyun.com/qq_26442553/article/details/79465608hive编程是整个数据仓库操作的核心,而各种业务之间的join是hive的核心,所以熟练明白滴掌握hive中的各种join是数据仓库开发工程师必备的技能。hive中的join只支持等值join,也就是说join on中的on里面表之间连接条件只能是=,不能是<,>...
2019-10-31 17:29:09
117
原创 yarn的三种调度器
理想情况下,我们应用对Yarn资源的请求应该立刻得到满足,但现实情况资源往往是有限的,特别是在一个很繁忙的集群,一个应用资源的请求经常需要等待一段时间才能的到相应的资源。在Yarn中,负责给应用分配资源的就是Scheduler。其实调度本身就是一个难题,很难找到一个完美的策略可以解决所有的应用场景。为此,Yarn提供了多种调度器和可配置的策略供我们选择。一、调度器的选择在Yarn中有三种调度器...
2019-10-31 17:28:51
159
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人