自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 scratch——画板

显示界面代码演示点击颜色,会显示选择颜色,点击擦除换成橡皮共8个角色,其中五个为颜色只展示两个1、画笔2、颜色3、红色4、黄色5、擦除...

2020-01-17 17:31:03 1880

原创 scratch——打砖块

显示界面具体代码三个角色,三个背景,板子跟着鼠标移动1、球2、板子3、砖块

2020-01-17 17:11:58 4950

原创 scratch——口算题卡

显示界面代码演示仅一个角色,题数随机,符号随机,能计算出正确率

2020-01-17 09:30:34 1708

原创 scratch——贪吃蛇(变量、克隆、可连手柄)

显示界面具体代码共10个角色,尾巴克隆获得,吃到香蕉1分、苹果2分、老鼠5分,吃香蕉同时分数为5的倍数则速度增加1,其中四个角色为四堵墙,代码相同,仅展示1个,可键盘控制可连接手柄。1、蛇2个造型,蛇身使用克隆2、香蕉3、苹果4、老鼠5、结束文字(Game Over)6、开始界面(手柄)7、墙1重复执行处仅为锁定按键8、墙2、3、49、背景(背...

2020-01-16 09:29:57 2220

原创 scratch——计算器(仅用变量)

显示界面具体代码此次制作主要分为20个角色,其中2、3、4、5、6、7、8、9、0代码几乎相同,只是数字不同

2020-01-16 09:03:22 6133 2

原创 Spark SQL——JSON数据源

Spark SQL可以自动推断JSON文件的元数据,并且加载其数据,创建一个DataFrame。可以使用SQLContext.read.json()方法,针对一个元素类型为String的RDD,或者是一个JSON文件。但是要注意的是,这里使用的JSON文件与传统意义上的JSON文件是不一样的。每行都必须,也只能包含一个,单独的,自包含的,有效的JSON对象。不能让一个JSON对象分散在多...

2019-11-18 19:51:46 143

原创 Spark SQL——Parquet数据源之合并元数据

如同ProtocolBuffer,Avro,Thrift一样,Parquet也是支持元数据合并的。用户可以在一开始就定义一个简单的元数据,然后随着业务需要,逐渐往元数据中添加更多的列。在这种情况下,用户可能会创建多个Parquet文件,有着多个不同的但是却互相兼容的元数据。Parquet数据源支持自动推断出这种情况,并且进行多个Parquet文件的元数据的合并。因为元数据合并是一种相对耗...

2019-11-18 19:49:48 256

原创 Spark SQL——Parquet数据源之自动分区推断

一、 自动分区推断(一)表分区是一种常见的优化方式,比如Hive中就提供了表分区的特性。在一个分区表中,不同分区的数据通常存储在不同的目录中,分区列的值通常就包含在了分区目录的目录名中。Spark SQL中的Parquet数据源,支持自动根据目录名推断出分区信息。例如,如果将人口数据存储在分区表中,并且使用性别和国家作为分区列。那么目录结构可能如下所示:tableName|- gender=...

2019-11-18 19:48:18 292

原创 Spark SQL——数据源Parquet之使用编程方式加载数据

Parquet是面向分析型业务的列式存储格式,由Twitter和Cloudera合作开发,2015年5月从Apache的孵化器里毕业成为Apache顶级项目,最新的版本是1.8.0。列式存储和行式存储相比的优势:1、 可以跳过不符合条件的数据,只读取需要的数据,降低IO数据量。2、 压缩编码可以降低磁盘存储空间。由于同一列的数据类型是一样的,可以使用更高效的压缩编码(例如Run Length...

2019-11-18 19:44:56 102

原创 Spark SQL——通用的load和save操作

一、通用的load和save操作对于Spark SQL的DataFrame来说,无论是从什么数据源创建出来的DataFrame,都有一些共同的load和save操作。load操作主要用于加载数据,创建出DataFrame;save操作,主要用于将DataFrame中的数据保存到文件中。基于javaDataFrame df = sqlContext.read().load("users.par...

2019-11-18 19:40:58 490

原创 Spark SQL——使用编程方式将RDD转换为DataFrame

基于javapackage cn.spark.study.sql;import org.apache.spark.SparkConf;import org.apache.spark.api.java.JavaRDD;import org.apache.spark.api.java.JavaSparkContext;import org.apache.spark.api.java.fun...

2019-11-18 19:32:11 574

原创 Spark SQL——使用反射方式将RDD转换为DataFrame

一、RDD转换为DataFrame为什么要将RDD转换为DataFrame?因为这样的话,我们就可以直接针对HDFS等任何可以构建为RDD的数据,使用Spark SQL进行SQL查询了。这个功能是无比强大的。想象一下,针对HDFS中的数据,直接就可以使用SQL进行查询。Spark SQL支持两种方式来将RDD转换为DataFrame。第一种方式,是使用反射来推断包含了特定数据类型的RDD的...

2019-11-18 19:28:42 328

原创 Spark SQL——DataFrame

一、简介1、介绍Spark 1.0版本开始,推出了Spark SQL。其实最早使用的,都是Hadoop自己的Hive查询引擎;但是后来Spark提供了Shark;再后来Shark被淘汰,推出了Spark SQL。Shark的性能比Hive就要高出一个数量级,而Spark SQL的性能又比Shark高出一个数量级。最早来说,Hive的诞生,主要是因为要让那些不熟悉Java,无法深入进行Map...

2019-11-18 11:01:01 160

原创 Spark——排序实例

取最大的前三个数字top.txt1、SortByKey1)基于javapackage cn.spark.study.core;import org.apache.spark.SparkConf;import org.apache.spark.api.java.JavaPairRDD;import org.apache.spark.api.java.JavaRDD;import ...

2019-11-05 16:28:34 183

原创 Spark高级编程

一、基于排序机制的wordcount程序1、需求spark.txt对文本文件内的每个单词都统计出其出现的次数。按照每个单词出现次数的数量,降序排序2、实战① 基于javapackage cn.spark.study.core;import org.apache.spark.SparkConf;import org.apache.spark.api.java.JavaPai...

2019-11-05 11:25:14 195

原创 Spark——共享变量

一、共享变量工作原理Spark一个非常重要的特性就是共享变量。默认情况下,如果在一个算子的函数中使用到了某个外部的变量,那么这个变量的值会被拷贝到每个task中。此时每个task只能操作自己的那份变量副本。如果多个task想要共享某个变量,那么这种方式是做不到的。Spark为此提供了两种共享变量,一种是Broadcast Variable(广播变量),另一种是Accumulator(累加变...

2019-11-05 10:33:00 234

原创 Spark——RDD持久化

一、RDD持久化原理Spark非常重要的一个功能特性就是可以将RDD持久化在内存中。当对RDD执行持久化操作时,每个节点都会将自己操作的RDD的partition持久化到内存中,并且在之后对该RDD的反复使用中,直接使用内存缓存的partition。这样的话,对于针对一个RDD反复执行多个操作的场景,就只要对RDD计算一次即可,后面直接使用该RDD,而不需要反复计算多次该RDD。巧妙使...

2019-11-05 09:16:10 327

原创 Spark——action

1、算子reduce 将RDD中的所有元素进行聚合操作。第一个和第二个元素聚合,值与第三个元素聚合,值与第四个元素聚合,以此类推collect 将RDD中所有元素获取到本地客户端count 获取RDD元素总数take(n) 获取RDD中前n个元素saveAsTextFile 将RDD元素保存到文件中,对每个元素调用toString方法countByKey 对每个key对应的值进行cou...

2019-11-04 21:00:14 101

原创 Spark——transformation

操作RDD(transformation和action案例实战)1、transformation和action介绍Spark支持两种RDD操作:transformation和action。transformation操作会针对已有的RDD创建一个新的RDD;而action则主要是对RDD进行最后的操作,比如遍历、reduce、保存到文件等,并可以返回结果给Driver程序。例如,m...

2019-11-04 08:44:56 347

原创 Spark核心编程

一、spark基本工作原理1、基本工作原理1)分布式2)主要基于内存(少数情况基于磁盘)3)迭代式计算2、RDD以及其特点1)RDD是Spark提供的核心抽象,全称为Resillient Distributed Dataset,即弹性分布式数据集。2)RDD在抽象上来说是一种元素集合,包含了数据。它是被分区的,分为多个分区,每个分区分布在集群中的不同节点上,从而让RDD中的数据可以被...

2019-10-23 21:00:30 272

原创 Spark——安装及使用

一、spark入门与安装1、spark概述1)了解Spark是一种快速、通用、可扩展的大数据分析引擎,2009年诞生于加州大学伯克利分校AMPLab,2010年开源,2013年6月成为Apache孵化项目,2014年2月成为Apache顶级项目。目前,Spark生态系统已经发展成为一个包含多个子项目的集合,其中包含SparkSQL、Spark Streaming、GraphX、MLlib等子...

2019-10-23 14:58:34 4170

原创 Scala基础(四)

一、模式匹配1、了解模式匹配是Scala中非常有特色,非常强大的一种功能。类似于Java中的swich case语法,即对一个值进行条件判断,然后针对不同的条件,进行不同的处理。但是Scala的模式匹配的功能比Java的swich case语法的功能要强大地多,Java的swich case语法只能对值进行匹配。但是Scala的模式匹配除了可以对值进行匹配之外,还可以对类型进行匹配、对Arr...

2019-10-22 20:55:56 132

原创 Scala基础(三)——函数式编程

一、函数式编程1、了解Scala中的函数是Java中完全没有的概念。因为Java是完全面向对象的编程语言,没有任何面向过程编程语言的特性,因此Java中的一等公民是类和对象,而且只有方法的概念,即寄存和依赖于类和对象中的方法。Java中的方法是绝对不可能脱离类和对象独立存在的。而Scala是一门既面向对象,又面向过程的语言。因此在Scala中有非常好的面向对象的特性,可以使用S...

2019-10-21 20:29:59 249 1

原创 Scala基础(二)——面向对象(下)

一、面向对象之Trait1、trait基础知识1)将trait作为接口使用Scala中的Triat是一种特殊的概念首先我们可以将Trait作为接口来使用,此时的Triat就与Java中的接口非常类似在triat中可以定义抽象方法,就与抽象类中的抽象方法一样,只要不给出方法的具体实现即可类可以使用extends关键字继承trait,注意,这里不是implement,而是extends,...

2019-10-20 21:06:39 71

原创 Scala基础(二)——面向对象(中)

一、面向对象编程1、对象1)object相当于class的单个实例,通常在里面放一些静态的field或者method第一次调用object的方法时,就会执行object的constructor,也就是object内部不在method中的代码;但是object不能定义接受参数的constructor注意: object的constructor只会在其第一次被调用时执行一次,以后再次调用就...

2019-10-18 17:59:14 140

原创 Scala基础(二)——面向对象(上)

一、用IDEA编写scala语言1、安装首先安装scala的msi,,,scala-2.11.8.msi看一下环境变量有没有添加(参照上)2、下载Scala插件搜索scala重启idea,创建scala项目:此时src为灰色设置src目录为源码目录在src目录上右键,选择Mark Directory as---->Sources root但是我们右键...

2019-10-16 10:14:22 122

原创 Scala基础(一)

一、基础语法1、Scala与Java的关系Scala是基于Java虚拟机,也就是JVM的一门编程语言所以Scala的代码,都必须经过编译为字节码,然后交由Java虚拟机运行Scala和Java是可以无缝操作的,Scala可以任意调用Java的代码2、安装官方下载: http://www.scala-lang.org/download/在windows命令行内即可直接键入scal...

2019-10-15 20:42:15 307

原创 HBase基础

一、基本介绍1、简介是建立在hdfs之上,提供高可靠性、高性能、列存储、可伸缩、实时读写Nosql的数据库Nosql数据库:非关系型数据库关系型数据库:分为行存储和列存储,可相互转化HBase来源于Google思想 gfs mapreduce bigtable==>hbase仅支持一些简单的事务mysql:select *from biao; insert into biao...

2019-10-11 14:46:27 214

原创 HIVE语句(下)

一、SELECTJoininner joinleft join | left outer joinright join | right outer joinfull outer join其中 join与inner是一样的结果** MySQL中演示 **例如有下边两张表1、内连接** 两表关联,保留两表中交集的记录 **SELECT a.id,a.sum,b.id,b....

2019-09-26 20:52:36 185

原创 HIVE语句(上)

一、了解HIVE1、是什么是一个可以将sql翻译为MR程序的工具支持用户将HDFS上的文件映射为表结构,用户可以输入SQL进行查询分析将用户定义的库、表结构等信息存储在hive的元数据库中2、用途用于构建大数据体系下的数据仓库3、使用方式1)方式一:交互式查询将hive启动为一个服务: bin/hiveserver ,然后可以在任意一台机器上使用beeline客户端连接hi...

2019-09-26 11:18:52 416

原创 HDFS

一、运行hadoop提供的wc具体步骤step1:在home目录下创建文件wordcount.txt,内容如下:hello tomhello rosehello jerryhello TBLhello tomhello kittyhello rosehello TBLhello ZDPhello ZDPhello TBL[root@node01 home]# vi w...

2019-09-09 17:36:57 201

原创 Shell——基础命令

一、crontab配置(定时)1、功能在固定的间隔时间执行指定的系统指令或 shell script脚本。时间间隔的单位可以是分钟、小时、日、月、周及以上的任意组合。这个命令非常适合周期性的日志分析或数据备份等工作。2、安装[root@node03 ~]# yum install crontabs已加载插件:fastestmirror, security设置安装进程Loading m...

2019-09-03 20:48:50 153

原创 Linux——基础命令

一、关于大数据——海量数据的处理(分布式系统的思想,框架)(数据采集----flume----hadoop<基础,离线处理> + storm <实时处理的王者> + spark<加分项,技术趋势,擅长内存计算,迭代运算(机器学习)>)二、基础内容——Linux&Shell、Hadoop、MapReduce数据的处理流程:收集数据—>w...

2019-09-02 20:08:56 241

原创 Python——多线程(下)

一、线程通信强化import threadingimport timedef goevent(): e = threading.Event() # 事件 def go(): for i in range(10): e.wait() # 等待事件,线程卡顿,等待set消息,只调用一次 e.clear() #...

2019-08-23 17:57:20 89

原创 Python——多线程(上)

一、主线程与小弟进程import _thread # 多线程import win32apidef show(i): # 0 代表系统,你真帅代表内容,来自JOKER代表标题,0代表窗口类型0,1,2,3 mystr = win32api.MessageBox(0,"你真帅","来自Joker的问候",0)for i in range(5): # 这是小弟线程...

2019-08-22 21:03:59 198

原创 Python——多进程

一、multiprocessingimport multiprocessingimport osdef info(title): print(title) print(__name__) print('father', os.getppid()) print('self', os.getpid()) print('--------')if _...

2019-08-21 17:38:14 235

原创 多进程练习

1、下载歌曲!歌曲名最好用已有的.import jsonimport multiprocessingimport requests#获取歌曲链接def text (path): list1 = [] list2 = [] with open(path,mode='r') as f: res = f.readlines()[0].strip('\n'...

2019-08-20 23:03:46 134

原创 Python——进阶、进程和线程

python进阶一、编码规范1、代码编排:1)缩进四个空格,空格与Tab不能混用2)行长80,防止单行逻辑复杂2、import:1)不能用 from xxx import *2)顺序:标准库、第三方库、自定义库3)单行不要import多个库4)模块内用不到的不要去import3、空格1)标点符号后面跟一个空格,前面不要空格(行尾分号后无空格)2)运算符前后各一个空格3)当...

2019-08-20 19:55:56 118

原创 面向对象练习

基础题1、(数学方面:五角数)一个五角数被定义为n(3n-1)/2,其中n=1、2、…所以,开始的几个数是1、5、12、22、…编写一个带下面函数头的函数返回五角数def getPentagonalNumber(n):编写一个程序来使用这个函数显示前100个五角数,每行显示10个def getPentagonalNumber(n): if n % 10 == 0: ...

2019-08-19 23:16:37 858

原创 Python——面向对象

面向对象编程基础类是对象的蓝图和模板,对象是类的实例一、定义类(class)1、最简单的类#标识 类名 object:python3可写可不写,2必须写class class_name(object): print('hello')if __name__ == "__main__": Joker = class_name class class_nam...

2019-08-19 17:02:04 185

空空如也

空空如也

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

TA关注的人

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