数据处理

第十一章-使用数据处理函数

♀尐吖头ヾ 提交于 2019-12-28 07:29:56
11.1函数 与其他大多数计算机语言一样,SQL支持利用函数来处理数据。函数一般是在数据上执行的,他给数据的转换和处理提供了方便,在前一章中用来去掉尾空格的RTrim()就是一个函数的例子 几乎每种DBMS的都有支持的不同函数,每种差异会很大,因此函数没有SQL的可移植性强。 11.2使用函数 11.2.1文本处理函数 输入: SELECT vend_name,Upper(vend_name) AS vend_name_upcase FROM vendors ORDER BY vend_name; 分析: 将列 vend_name_upcase转换为大写 常用的文本处理函数 函数 说明 Left() 返回串左边的字符 Length() 返回串的长度 Locate() 找出串的一个子串 Lower() 将串转为小写 LTrim() 去掉串左边的空格 Right() 返回串右边的字符 RTrim() 去掉串右边的空格 Soundex() 返回串的SOUNDEX的值 SubString() 返回子串的字符 Upper() 将串转换为大写 11.2.2日期和时间处理函数 日期和时间采用相应的数据类型和特殊的格式存储,以此节省物理存储空间。而应用程序不使用用来存储日期和时间的格式,因此日期和时 间函数总是被用来读取、统计和处理这些值。 常用日期和时间处理函数 函数 说明 AddDate()

MySQL.数据处理(视图)

自作多情 提交于 2019-12-28 07:12:51
视图: 1.视图是一张虚拟表,其结构和数据是基于对表的查询基础上。 视图中是没有数据的,其数据都来自于基本表! 2.特点: (1)简化操作:将复杂查询定义为视图 (2)提高了数据的安全性:创建可控的环境,只能访问权限以内的数据,用户只能查询和修改显示的数据 (3)屏蔽数据库的复杂性:数据库管理员可以将难懂的列替换成用户易理解的 (4)数据及时更新 (5)便于数据共享 3.语法 create (or replace 【替换同名的】) view 图名 as select语句 with check option 视图中只能是一个select的完整语句!!! mysql > create or replace view v_book - > as - > select 图书名称 , 价格 , 出版社 from 图书信息 where 出版社 = 1 or 出版社 = 3 - > order by 出版社 ; Query OK , 0 rows affected mysql > select * from v_book ; + -- -- -- -- -- -- -- -- -- -- -- -- -- -- + -- -- -- + -- -- -- -- + | 图书名称 | 价格 | 出版社 | + -- -- -- -- -- -- -- -- -- -- -- -- -- -- +

分布式系统基础架构——Hadoop

跟風遠走 提交于 2019-12-28 05:44:21
1.Hadoop   a.概念:Hadoop是一个由Apache基金会所开发的分布式系统基础架构   b.组成:Hadoop = HDFS (文件系统) + Mapreduce (数据处理) 2.安装   a.配置Java运行环境   b.从官网下载 Hadoop 并解压,地址:http://hadoop.apache.org/releases.html   c.下载 winutils 对 windows 进行支持,地址:https://github.com/steveloughran/winutils(支持老版本)                       https://github.com/zyj108/apache-hadoop-3.1.0-winutils(支持Hadoop3.1.2)   d.解压 winutils 覆盖到 Hadoop 根目录(主要是覆盖bin目录)   e.在 Hadoop 的 etc\hadoop 下,修改如下配置文件     ①修改core-site.xml,配置默认hdfs的访问端口 <configuration> <property> <name>fs.defaultFS</name> <value>hdfs://localhost:9527</value> </property> </configuration>     ②修改hdfs

SparkStreaming scala Demo示例

落爺英雄遲暮 提交于 2019-12-28 04:02:48
1. 流式计算是什么 1.1.离线批处理(batch calculation) 所谓离线批处理,这里面有两个概念,一个是离线,还是一个是批处理。 先看批处理,说白了处理的是一批数据,只不过这里的一批,数据量往往相对比较大,比如100G,500G,1T等等;离线指的是,数据是静态,或者说数据不变。所以二者合一,所谓离线批处理,就是对静态的,不变的数据集进行处理。 有哪些特点呢? 处理的数据是静态的,不变的; 处理的数据是有界限的(Bounded); 计算过程一定会结束; 计算是一锤子的买卖; 计算过程是非常缓慢的。 1.2.实时流计算(real time stream calculation) 所谓的实时流计算,是和离线批处理相对应的,所谓实时流,就是向水流一样,川流不息,不间断,实时的有数据产生。对这些数据的处理,就不能再像离线批处理那样? 有哪些特点? 处理的数据是动态,实时产生的; 处理的数据是无界的(UnBounded),但是可以衡量某个时间段内的体积; 计算是持续不断的,除非外力终止,否则持续不断计算; 不会只计算一次; 计算的过程必须非常的快速。 2. Spark Streaming实时案例实战 2.1. 构建Streaming模块 项目模块的pom依赖,结构如下: spark-parent.pom <?xml version="1.0" encoding="UTF-8"

分布式计算框架MapReduce

风格不统一 提交于 2019-12-27 18:10:10
MapReduce概述 MapReduce源自Google的MapReduce论文,论文发表于2004年12月。Hadoop MapReduce可以说是Google MapReduce的一个开源实现。MapReduce优点在于可以将海量的数据进行离线处理,并且MapReduce也易于开发,因为MapReduce框架帮我们封装好了分布式计算的开发。而且对硬件设施要求不高,可以运行在廉价的机器上。MapReduce也有缺点,它最主要的缺点就是无法完成实时流式计算,只能离线处理。 MapReduce属于一种编程模型,用于大规模数据集(大于1TB)的并行运算。概念"Map(映射)"和"Reduce(归约)",是它们的主要思想,都是从函数式编程语言里借来的,还有从矢量编程语言里借来的特性。它极大地方便了编程人员在不会分布式并行编程的情况下,将自己的程序运行在分布式系统上。 当前的软件实现是指定一个Map(映射)函数,用来把一组键值对映射成一组新的键值对,指定并发的Reduce(归约)函数,用来保证所有映射的键值对中的每一个共享相同的键组。 MapReduce官方文档地址如下: https://hadoop.apache.org/docs/stable/hadoop-mapreduce-client/hadoop-mapreduce-client-core/MapReduceTutorial

Spack学习笔记

丶灬走出姿态 提交于 2019-12-27 01:46:08
一。 spark 是一个快速且通用的集群计算平台 基于内存的运算 通用性;降低维护成本 Spack的设计容纳了其它分布式系统拥有的功能 批处理,迭代式计算,交互查询和流处理等 spark是高度开放的;Python Java scala haddoop 二。 spark core: 包含spark的基本功能,任务调度,内存管理,容错机制 内部定义了RDDs,弹性分布式数据集 spark sql: 是spark处理结构化数据的库 spark streaming: 实时数据流处理组件,类似Storm Spaek Streaming提供了API来提供操作实时流数据。 应用场景,企业中用来从Kafka接收数据做实时统计。 milb: 包含通用机器学习功能的包,分类,聚类,回归 支持起集群上的横向扩展 机器学习 graphx: 处理图的库,并进行图的并行计算 cluster managers: 集群管理,Spark自带一个集群管理是单独调度器。 常见的集群管理包括Hadoop YARN,Apache Mesos 紧密集成的优点 1.spark底层优化了,基于spark的底层组件也会得到相应的优化。 2.紧密继承节省了各个组价组合使用时的部署,测试等时间 3.向spark增加新的组件时,其他组件,可立刻享用新组建的功能。 三。 spark与Hadoop的比较 Hadoop的应用场景:离线处理

Hadoop阅读笔记(三)——深入MapReduce排序和单表连接

半城伤御伤魂 提交于 2019-12-26 21:06:43
  继上篇了解了使用MapReduce计算平均数以及去重后,我们再来一探MapReduce在排序以及单表关联上的处理方法。 在MapReduce系列的第一篇就有说过,MapReduce不仅是一种分布式的计算方法,更是一种解决问题的新思维、新思路。将原先看似可以一条龙似的处理一刀切成两端,一端是Map、一端是Reduce,Map负责分,Reduce负责合。    1. MapReduce排序    问题模型:   给出多个数据文件输入如:   sortfile1.txt 11 13 15 17 19 21 23 25 27 29    sortfile2.txt 10 12 14 16 18 20 22 24 26 28 30    sortfile3.txt 1 2 3 4 5 6 7 8 9 10    最终要完成排序形成结果文件格式如下: 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 10 11 10 ……       要解决的问题有了,那么如何排序,如何实现,我们尚且存在哪些问题:    1. 我们知道MapReduce本身就有自带的排序功能,能够直接用;    2. 如果用MapReduce默认排序功能,如何使用,针对key为int类型以及String类型又有何不同;    3. 如何保证三个输入文件乃至更多个输入文件的输入

js里面对数据处理的方法

断了今生、忘了曾经 提交于 2019-12-26 19:53:07
1 1,charAt()方法可返回指定位置的字符 JavaScript String 对象 2 例:stringObject.charAt(index) 3 index:表示字符串中某个位置的数字,即字符在字符串中的下标. 4 <script type="text/javascript"> 6 var str = "Hello worle!" 7 document.write(str.charAt(1)) // e 9 </script> 2,toUpperCase()方法用于把字符串转换成大写 JavaScript String 对象 例:stringObjice.toUpperCase() <script type="text/javascript"> var str="Hello World!" document.write(str.toUpperCase()) </script> 3,slice()方法可从已有的数组中返回选定的元素 JavaScript Array 对象 arrayObject.slice(start,end) start 必需,规定从何处开始选取。自己算 end 可选, 规定从何处结束选取。 结束不算 <script type="text/javascript"> var arr = ["George","John","Thomas"] document

python与matlab

半世苍凉 提交于 2019-12-26 17:33:00
写几点自认为比较重要的区别: 1.python 开源免费,易于扩展,兼容多种语言;matlab 商业且不开源,但是在数据处理方面还是简单易上手 2.python安装占用空间小,如果用anaconda ,我自己安装占6.48个G,后续需要扩展,也会增加内存;matlab2018安装文件12个G,完整版安装需要20G 3.python目前在排名中靠前,且是趋势;matlab在学术研究中用的多一些。 来源: CSDN 作者: wenjing3470830 链接: https://blog.csdn.net/wenjing3470830/article/details/103717558

Python数据处理(四舍五入、除法部分)

风格不统一 提交于 2019-12-26 08:38:26
本文转载自: https://www.cnblogs.com/junyiningyuan/p/5338378.html 作者:junyiningyuan 转载请注明该声明。 最近在改造之前的代码的过程中发现一直使用的除法都是“传统除法”,即对整数进行操作,结果的精度不准,正巧在看 数据处理 +四舍五入+除法部分+.html' target='_self'>python核心编程,碰到这块,整理下。 关于除法 传统除法 对两个整数进行除的运算,同时结果会舍去小数部分,返回一个整数。但如果操作数之一是浮点型,则执行真正的除法。 真正的除法 返回真实的商,不管操作数的类似是整数还是浮点数 需要执行如下指令将传统除法转换为真正的除法 from __future__ import division 地板除 不管操作数为何种数值类型,总是舍去小数部分,返回数字序列中比真正的商小的最接近的数字,操作符“//” 举例: >>> print "5/3传统除法:",5/3 5/3传统除法: 1 >>> from __future__ import division >>> print "5/3真正的除法:",5/3 5/3真正的除法: 1.66666666667 >>> print "5/3地板除:",5.0//3 5/3地板除: 1.0    关于取整 常用的直接就是int()