- 博客(30)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 Financial Management
《你不理财,财不理你》美国170位百万富翁理财:现在就开始投资。现实生活中六成以上的人连成为百万富翁的第一步就没做到。制定目标。不论任何目标,要有计划、坚定不移地去完成计划。把钱用于买股票或者基金上。不要眼高手低,选择绩优股而不是高风险股。每月固定投资,使投资成为习惯。不论投资金额多少,只要做到每月固定投资。坚持就是胜利。3/4的百万富翁买一种股票至少持有五年以上,将近四成百万富...
2019-09-23 00:39:20
160
原创 【MapReduce】03.MapReduce框架原理
数据切片:数据切片是MapReduce程序计算输入数据的单位,一个切片会对应一个MapTask(逻辑切分,并非物理切分)MapTask的并行度决定Map阶段的任务处理并发度,进而影响到整个Job的处理速度。数据块:Block是HDFS物理上的数据分割,数据块是HDFS存储数据单位。1)一个Job的Map阶段并行度由客户端在提交Job时的切片数决定。2)每一个Split切片分配一个MapTask并行实例处理。4)切片时不考虑数据集整体,而是逐个针对每个文件单独切片。
2024-03-07 13:50:08
473
原创 【MapReduce】02.Hadoop序列化
7)如果需要将自定义的bean放在key中传输,则还需要实现Comparable接口,因为MapReduce框中的shuffle过程要求对key必须能排序。6)要想把结果显示在文件中,需要重写toString()方法,可用\t分开,方便后续使用。2)反序列化时,需要反射调用空参构造函数,所以必须有空参构造。自定义bean对象实现序列化接口。5)注意反序列化顺序和序列化顺序要完全一致。1)必须实现Writable接口。4)重写反序列化方法。
2024-03-05 16:49:36
627
原创 【DataW】建模理论
每个操作型事件,基本都是发生在实体之间,伴随发生会产生可度量的值,而这个过程会产生一个事实表,存储了每个可度量的事件。在1NF的基础上,实体的属性完全依赖于主关键字,不能存在仅依赖住关键字一部分的属性,也就是不存在局部依赖。4.数据质量:改善数据统计口径的不一致性,减少数据计算错误的可能性,提供高质量、一致的数据访问平台。2.数据成本:减少不必要的数据冗余,实现计算结果数据复用,降低大数据系统中的存储成本和计算成本。2.每个维表的主键为单列,且主键放置在事实表中,作为两边连接的外键。
2024-01-24 15:05:43
405
原创 【MapReduce】01.概述
MapReduce是一个分布式运算程序的编程框架,用于Hadoop数据分析的核心框架。MapReduce的核心功能是将用户编写的业务逻辑代码和自带默认组件整合成一个完整的分布式运算程序,并发运行在一个Hadoop集群上。
2024-01-19 15:30:33
345
原创 《跟着高手学复盘》笔记
因为错误的理解复盘目的,认为复盘是对过去的追责和惩罚,所以在有意逃避中将责任甩给别人。认识到用户的问题不在产品丰富度,而在于匹配精准度(对认知的修正)对未来优化,包括对过去事实的总结,更重要的是对原因的分析和对认知的修正。用B2C模型替代C2C模型(对未来优化)找出原来C2C的问题(对原因的分析)整理用户和行业资料(对事实的总结)事实上复盘目的应该是。
2024-01-09 17:37:45
439
原创 【Spark】02.Spark-IDEA配置
1.基于jdk1.8创建一个maven项目2.增加scala-sdkProject Structure - Platform Settings - Global Libraries3.增加Spark的Maven依赖<dependencies> <dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-c
2022-03-17 10:14:45
2177
原创 【Spark】01.Spark框架
Spark是一种由Scala语言开发的快速、通用、可扩展打大数据分析引擎,Spark更倾向于计算。一次性数据计算框架在处理数据的时候,会从存储设备中读取数据,进行逻辑操作,然后将处理的结果重新存储到介质中。因此,MapReduce不适合迭代式数据开发。但是Spark基于内存,当资源受到限制的时候,还是需要依赖MapReduce,因此不能完全代替。SparkCore提供Spark最基础与核心的功能,以下功能都是基于Core进行扩展SparkSQLSpark用来操作结构化数据SparkStre
2022-03-16 22:56:08
1749
原创 Python(一)基础知识
Python简介PyCharm安装和使用Python基础知识变量命名规范1.标识符由字符、下划线和数字组成,且开头不能是数字2.严格区分大小写3.不能使用关键字
2022-01-29 17:45:53
505
原创 MaxCompute —【存储_压缩操作】
压缩方案说明:压缩前后请务必进行数据测试对比,确保数据压缩前后一致。对比工具:https://datacompare.alibaba-inc.com/#/home原理说明在默认情况夏,数据是按照写入时间顺序存储的,这样物理上相邻的数据其实相似性并不高。在当前列存储当道的大背景下,如果让某个人/设备的数据在物理上相邻,就能够用20%的代价达到80%的数据存储优化效果。【desc extended <table_name>;】...
2020-11-12 12:01:23
824
原创 Hive —【order by/sort by】
Order byOrder by会对输入做全局排序,因此只有一个reduce(多个reduce无法保证全局有序)只有一个reduce,会导致当前输入规模较大时,需要较长的计算时间。Set hive.mapred.mode=nonstrict;(default value/默认值)Set hive.mapred.mode=strict;Order by 和数据库中的order by功能一致,按照某一项&几项排序输出。与数据库中的order by的区别在于hive.mapred.mode=
2020-11-11 00:33:51
484
原创 Scala—scala中不建议使用return
在scala中使用return的话,编译的时候会提示the latest statement is method is automatically returned, use of th return keyword is redundant.这个警告是说最后一个语句的结果会自动返回,使用return关键字是多余的。而我们在使用Idea写scala代码时使用了return后并没有直接提示,...
2020-03-23 22:40:17
1063
原创 Python - MySQL数据库相关对象及优化操作
Python数据库的Connection、Cursor两大对象Python数据库图解流程参数优化url在url后加上参数rewriteBatchedStatements=true表示MySQL服务开启批次写入,此参数是批次写入的一个比较重要参数,可明显提升性能batchsizeDataFrame writer批次写入MySQL的条数,也为提升性能的参数isolationLeve...
2019-11-20 16:49:09
225
原创 Python - 库
re库正则表达式库turtle库turtle(海龟)库是turtle绘图体系的Python实现Python语言的标准库之一[入门级的图形绘制函数库]
2019-11-12 11:11:42
165
原创 DataWarehouse -【马蜂窝】数据仓库设计与实践
Part.1 马蜂窝数据仓库与数据中台最近几年,数据中台概念的热度一直不减。2018 年起,马蜂窝也开始了自己的数据中台探索之路。数据中台到底是什么?要不要建?和数据仓库有什么本质的区别?相信很多企业都在关注这些问题。我认为数据中台的概念非常接近传统数据仓库+大数据平台的结合体。它是在企业的数据建设经历了数据中心、数据仓库等积累之后,借助平台化的思路,将数据更好地进行整合与统一,以组件化的方...
2019-11-07 15:48:30
646
原创 Spark-SparkSQL与DataFrame的本质
SparkSQL与DataFrame一、SparkSQL之所以是除了SparkCore以外最大的和最受关注的组件,原因如下:处理一切存储介质和各种格式的数据(同时可以方便的扩展SparkSQL的功能来支持更多类型的数据,例如Kudu)Spark SQL把数据仓库的计算能力推向新的高度,不仅是计算速度(Spark SQL比Shark快了至少一个数量级,而Shark比Hive快了至少一个数量级...
2019-11-06 20:56:58
188
原创 Spark-Apache Spark3.0.Dynamic Partition Pruning
静态分区裁剪[Static Partition Pruning]用过Spark的同学知道,SparkSQL在查询的时候支持分区裁剪,比如:select * from Sales where day_of_week = ‘Mon’Spark会自动进行以下的优化:从上图可以看到Spark在编译SQL的时候自动将Filter算子下推到数据源,也就是在Scan前进行了Filter操作,将day...
2019-11-05 15:24:19
313
原创 Hive(一)调优
Hive-调优HiveQL是一种声明式语言,用户会提交声明式的查询,而Hive会将其转化为MapReduce job。Hive-1 使用Explain(解析Hive如何转化为MapReduce)一个Hive任务包含有一个或多个stage,不同的stage之间会存在着依赖关系。一个stage可以是一个MapReduce,也可以是【抽样、合并、limit限制】Hive-2 使用Explain ...
2019-09-17 14:08:20
199
原创 Database(一)数据库范式
设计关系数据库时,遵从不同的规范要求,设计合理的关系型数据库,这些不同的规范被称为不同的范式,呈递次规范,越高的范式数据库冗余越小目前关系数据库有六种范式:第一,二,三范式,巴斯-科德范式(BCNF),第四,五范式(第五又称完美范式)数据库只要满足第三范式就可以了。第一范式(1NF)在关系模型中,对于添加的一个规范要求,所有的域都应该是原子性的,即数据库表的每一列都是不可分割的原子数据...
2019-02-18 20:07:14
196
原创 Java(四)JVM内存结构
对于Java程序员来说,内存是由JVM自动管理的,所以一旦出现内存泄漏或溢出的问题,不了解JVM的内存结构和各个内存区域的工作职责,将难以解决问题。按照Java虚拟机规范的规定,JVM自动管理的内存将会包括以下几个运行时数据区域。程序计数器:是JVM中一块小的内存区域,保存着当前线程执行的虚拟机字节指令码的内存地址。Java多线程的实现,实际是通过线程间的轮流切换并分配处理器执行时间来实现...
2019-01-24 20:39:17
258
原创 Java(三)如何用栈实现队列
如何用栈实现一个队列栈:先进后出队列:先进先出思路:一个栈是无法实现队列操作的,所以我们需要考虑是否可以用两个栈去实现既然这时候我们有两个栈,可以让其中一个栈作为队列的入口,负责插入新元素另一个栈作为队列的出口,负责移除老元素两个栈如何进行关联这时候我们希望最先进入的最先出去解决方法:让栈A中的所有元素按顺序出栈,再按照出栈顺序压入栈B。这样一来元素从栈A弹出并压入...
2019-01-23 10:07:24
494
原创 Java(二)Java中String,StringBuffer和StringBuilder的区别
Java平台提供了两个类:String和StringBuffer,他们用来存储和操作字符串,即包含多个字符的字符数据这个String类提供了数值不可改变的字符串这个StringBuffer类提供的字符串进行修改。当知道字符数据要改变的时候就可以使用StringBuffer,典型的,可以使用StringBuffer来动态构造字符数据String长度是不可以变得StringBuffer长度...
2019-01-22 18:15:12
186
原创 Java(一)Java中Heap和Stack的区别
堆是栈的一个子集栈的存取速度仅次于寄存器,存储效率比堆高,可共享存储数据,但是其中数据的大小和生存期必须提前确定堆是运行时可动态分配的数据区,速度上比栈要慢,而且数据不共享,大小生存期可在运行时确定new关键字,是运行时在堆里面创建对象,每new一次都会创建新对象,因为堆数据不共享例子:String str1 = new String(“abc”);String str2 = “a...
2019-01-22 12:28:34
260
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人