自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 资源 (1)
  • 收藏
  • 关注

原创 scala小练习

1 100 以内的数求和,求出当和第一次大于 20 的当前数。思路:在循环相加时加入if判断,不符合条件就直接跳出循环,带出相对应的数字。object Work02 { def main(args: Array[String]): Unit = { var num=0 var sum=0 Breaks.breakable( for(i:Int <- 0 to 100){ if(sum>20){ num=i-1

2020-07-30 16:32:11 1527

原创 Scala Trait【特质】

一、scala特质的介绍scala Trait(特质)相当于java的接口,但是他的功能远比接口强大。scala中的Trait(特质)的方法是可以实现的,这点与java不同。在sacla中没有加入接口的关键字都是用extend继承,多继承时使用with关键字案例演示://创建说hello的接口trait SayHello{ def sayHello(name:String)}//创建听音乐接口trait ListenMusic{ def playMusic(musicName:S

2020-07-29 22:45:01 1028

原创 Scala协变和逆变【关键在于找到谁是爸爸】

一、协变与逆变的介绍正常来说创建一个Person类,然后可以创建一个Student类继承Person来继承他。当我们创建对象的时候可以用父类类型指向子类实例。再java中父类类型指向子类实例是可以的,当然再scala中也是可以存在的。但是如果是list[Person]那就不是list[Student]的父类了。再java中不存在协变与裂变,也就没有办法让list[Person]成为list[Student]的父类。再scala中不仅可以让list[Person]成为list[Student]的父类,甚

2020-07-29 19:39:25 983

原创 用scala连接数据库【用隐式类封装增删改查操作,用java对比】

一、scala连接数据库代码演示:import java.sql.{Connection, DriverManager, ResultSet}class MysqlDemo{}object MysqlDemo { private val driver = "com.mysql.jdbc.Driver" private val url = "jdbc:mysql://192.168.222.110:3306/test" private val userName = "root"

2020-07-28 19:59:29 1156

原创 scala【隐式参数、隐式函数、隐式类】

一、隐式参数隐式参数是级别在中间的一种参数形式。在调用是可以写也可以不写。在有隐式参数的方法中,调用此方法,那么JVM虚拟机首先寻找的是传参,再传参没有找到的情况下,才会去寻找隐式参数,如果不巧的是隐式参数也没有,这是JVM还会去寻找参数默认值,如果都没有,则调用时会报错,提示需要传参,要么就去写隐式参数。案例演示:implicit val num:Int=10def sum2(a:Int)(implicit b:Int):Int={ a+b }def main(args: Array

2020-07-28 19:47:55 1209

原创 Scala类和对象

一、Scala类和对象类是对象的抽象,对象是类的具体实例。类是抽象的,不占用内存,二对象是具体的,占用存储空间,new出来的对象,都在堆当中。类与对象举例:手机在制作之前肯定是需要一张图纸的,那么那张图纸就是类,一个手机图纸,在不同的商家甚至是统一商家,可以造出不同的手机。案例演示:class Student(name:String,age:Int,sex:String) { var names:String=name var ages:Int=age var sexs:String=s

2020-07-27 18:57:59 1183

原创 Scala字符串、数组、集合

一、Scala字符串scala字符串实际上就是java中的String,但是scala本身没有String类创建字符串创建字符串和创建变量是差不多的操作。有两种创建方式://方法一var str:string= "我是字符串"//方法二var str="我是也是字符串"计算字符串长度计算字符串长度的方法和java中用的方法基本一致str.lebgth()案例演示:object MyFirst { def main(args: Array[String]): Unit = {

2020-07-25 17:07:07 1305

原创 Scala基础入门2【方法与函数】

一、方法与函数Scala的方法与函数的区别很小,方法是类的一部分,而函数在scala中是一个对象,可以赋值给一个或者多个变量。在Scala中用val语句定义函数,用def定义方法。方法的定义与申明...

2020-07-24 23:47:03 946

原创 Scala与java的对比【用两个代码分别实现小学算数题作业】

一、业务要求题目写一道题出来一道题每写完一道按回车,可以看到结果是否正确看完结果还可以看一看当前答题正确率每一道题如果做错,可以选择是否显示答案二、设计思路我们可以程序运行的时候首先做的第一件事先得到20到题。为了保证20到题不会出现重复,可以选择用map键值对的方式接受。当然20到题是随机的,加减乘除肯定也都是随机的,那么对于数字的随机数我们可以使用Random类去实现,对于限定了+、-、*、/的符号随机也会是问题。运算符号可以写死在list的集合当中,然后用控制在0~3的随机数去调

2020-07-23 22:58:11 962

原创 Scala基础入门1【带你找到门】

一、scala介绍Scala 是 Scalable Language 的简写,是一门多范式的编程语言scala特性面对对象特性Scala是一门面对对向语言,和java一样,scala底层就是java,可以和无缝对接。与java不同的是它是一种纯对象语言,每一个值都是对象。对象的数据类型和行为有类的特质描述。scala对于抽象类的机制的扩展有两种途径:一种途径是子类继承和java一样另一种途径是灵活的混入机制,避免了多重继承的问题。函数式编程Scala是一种函数式语言,函数是可以当作值来

2020-07-23 17:18:28 951

原创 sqoop安装

一、安装前准备安装 Sqoop 的前提是已经具备 Java 和 Hadoop、Hive、ZooKeeper、HBase 的环境。二、下载安装并解压上传安装包 sqoop-1.4.6-cdh5.14.2.tar.gz 到虚拟机中安装包下载:链接:sqoop安装包提取码:e14n解压安装包到指定目录tar -zxvf sqoop-1.4.6-cdh5.14.2.tar.gz -C /opt/soft创建软连接注:这部操作可以没有ln -s /opt/soft/sqoop-1.4.6-cd

2020-07-23 14:16:24 980

原创 Sqoop数据迁移工具

一、sqoop介绍Sqoop是一个用于在Hadoop和关系数据库之间传输数据的工具将数据从RDBMS导入到HDFSHDFS、Hive、HBase从HDFS导出数据到RDBMS使用MapReduce导入和导出数据,提供并行操作和容错二、数据迁移介绍使用帮助文档sqoop import --help可以查到所有的迁移语句图为部分:案例演示数据准备下载数据准备链接:数据提取码:jmg7在mysql中创建数据库并导入准备的数据mysql> create data

2020-07-22 23:45:53 1121

原创 Hbase Region的切分与合并【原理分析】

一、Region的切分Region的自动切分Region自动切分是HBase能够拥有良好扩张性的最重要因素之一,当然他也是分布式系统追求扩展性很好的功能。当一个Region大到一定程度,会进行分裂(split),HBase可以通过Region Split达到负载均衡。自动切分的触发策略自动切分的触发策略有很多种,在1.2.6版本中应该有六种触发策略。但是我们经常用的最多三种。ConstantSizeRegionSplitPolicy:0.94版本前默认切分策略I ncreasingToUppe

2020-07-21 23:56:40 2718

原创 Hbase性能优化【Phoenix、Hive集成HBase】

一、Phoenix概述Phoenix简介构建在HBase上的SQL层使用标准SQL在HBase中管理数据使用JDBC来创建表,插入数据、对HBase数据进行查询Phoenix JDBC Driver容易嵌入到支持JDBC的程序中Phoenix使HBase更易用Phoenix应用场景Phoenix适合场景快速而容易地构建基于HBase的应用程序需要极大的规模、性能和并发性的SQL应用程序在转换到Hadoop时重用已有的SQL技能BI工具(对SQL支持较好)Phoenix不适合

2020-07-21 23:13:49 1487

原创 Hive优化【提高效率,减少资源浪费等】

一、谨慎使用API大数据场景下,必然是有大量的数据,因此大数据场景下并不怕数据量大,不行可多开几个节点,用以存储。但是大数据场景下,害怕的是数据倾斜,如果使用不当API,很容易造成数据倾斜问题。容易数据倾斜情况group by 不和聚集函数搭配使用的时候count(distinct),在数据量大的情况下,容易数据倾斜,因为 count(distinct)是按 group by 字段分组,按 distinct 字段排序小表关联超大表 join产生数据倾斜的原因key 分布不均匀业务数据本

2020-07-21 19:23:18 1953

原创 使用Java API操作HBase

一、创建maven工程,并添加依赖包<!-- https://mvnrepository.com/artifact/org.apache.hbase/hbase-client --> <dependency> <groupId>org.apache.hbase</groupId> <artifactId>hbase-client</artifactId> <version>1.2

2020-07-20 18:52:26 1042

原创 Hbase基础【hbase组件介绍、hbase性能优化】

一、Hbase介绍NoSQL概述:not only SQL,非关系型数据库指不遵循传统RDBMS模型的数据库数据是非关系的,且不使用SQL作为主要查询语言解决数据库的可伸缩性和可用性问题不针对原子性或一致性问题NoSQL和关系型数据库对比对比NoSQL关系型数据库常用数据库HBase、MongoDB、RedisOracle、DB2、MySQL存储格式文档、键值对、图结构表格式,行和列存储规范鼓励冗余规范性,避免重复存储扩展横向扩展,分布

2020-07-20 18:41:18 1194

原创 在linux下安装Hbase【简单易懂】

一、安装Hbase前提条件安装好hadoop,可以是单机版也可以是伪分布式版安装好zookeeper,如果是单机版可以不安装,使用hbase内置即可。二、下载hbase软件安装包链接:hbase安装包提取码:pj9z解压配置和启动hbase解压hbase将hbase安装包拖入到linux相应文件夹中。解压到想要的文件夹中tar -zxvf hbase-1.2.0-cdh5.14.2.tar.gz -C /opt/soft/配置Hbase文件1.进入配置文件夹cd /opt/

2020-07-20 14:10:53 1777

原创 hive函数分类,常用函数整理【案例说明】

一、hive函数分类从输入输出角度分类标准函数: 一行数据中的一列或多列为输入,结果为单一值聚合函数: 多行的零列到多列为输入,结果为单一值表生成函数: 零个或多个输入,结果为多列或多行。从实现方式分类内置函数自定义函数UDF:自定义标准函数UDAF:自定义聚合函数UDTF:自定义表生成函数二、标准函数数学函数round1.1 round(double a)说明:返回对a四舍五入的bigint值代码解释select round(3.423);结果为:3.0

2020-07-20 00:48:37 2014

原创 hive 查询练习

一、创建数据库并使用数据库--创建数据库create database if not exists lyq;--使用数据库use lyq;二、创建所需要的表,并插入数据--创建表-- 课程表create table if not exists course(course_id int,course_name string,teacher_id int);-- 分数表create table if not exists score(student_id int,course_id int

2020-07-19 00:59:33 2533

原创 正则表达式整理【贪婪模式、非贪婪模式、独占模式】

一、正则表达式的基本作用正则表达式可以用来做字符串的分割、匹配、替换、以及搜索截取这四部操作对与一般编程语言例如java也是可以去完成的,之所以用正则表达式,是因为它方便,如果大量的字符需要截取或者特定要求比较高的字符用java去截取将会带来很大的不便、而正则表达式只需要匹配截取就好了。二、正则表达式的基本语法\d 代表1个数字0-9\D 代表1个非数字\w 代表1个字符0-9 A-Z a-z\W 代表1个非字符. 代表任意1个非字符\s 代表1个空格\. 代表 .() 字符串选择器

2020-07-18 14:26:10 2358

原创 hive数据排序、和窗口函数

一、hive的四种排序1. Order by 可以指定desc降序 asc升序Order by会对输入做全局排序,因此只有一个Reducer(多个Reducer无法保证全局有序,即使设置了多个Reduce,程序依然会按照一个Reduce进行排序)。Order by全局排序,又一个缺点,就是只有一个Reducer,会导致数据规模较大是,消耗较长的计算时间。案例演示:-- 创建一个分数表create table score(stu_id int,stu_name string,stu_class

2020-07-13 00:03:11 4691

原创 hive高级查询、Map Join【配案例演示,有图有真相】

一、hive嵌套查询和CTECTE嵌套查询演示CTE跟以前的mysql中的嵌套查询是一样的效果,把查询结果作为另一个查询的表,再对这张表进行查询,这种属于嵌套查询。相比之下,hive的STE显得更有逻辑。创建两张表,插入数据,演示CTE嵌套查询#创建表abc> create table abc( > userid int, > username string, > salary int, > position string &g

2020-07-12 19:41:15 1928 1

原创 Hive基础知识整理、简单的键分区表导入数据示例

一、Hive介绍1.hive功能介绍hive是基于Hadoop的数据仓库解决方案,他将结构化数据、半结构化数据甚至是非结构化数据映射成为数据库表。hive提供了类似sql的查询语句HQL。他是Apache的顶级项目之一。2.hive与MapReduce的介绍MapReduce的执行效率更快,相比之下,hive要先将查询语句转成MapReduce所以运行速度相对变慢。Hive开放效率更快。3.Hive的优势和特点提供了一个简单的优化模型HQL类SQL语法,简化MR开发支持在不同的

2020-07-09 22:55:35 1530

原创 hadoop组件中的hive安装

一、hive安装前提1. 安装好一台纯净linux虚拟机2. 安装好hadoop,用于练习一台就够,不需要集群3. 安装好mysql二、linux虚拟机配置1.配置静态地址vi /etc/sysconfig/network-scripts/ifcfg-ens332. 修改主机名vi /etc/hostname3.修改hostsvi /etc/hosts三、使用rpm安装mysql1. 查看系统中是否有数据库1.rpm -qa | grep mysql --查看是否存在my

2020-07-07 23:56:14 2163

原创 linux配置ntp时间同步,与zookeeper的安装

一、linux配置ntp时间同步(一)确认ntp的安装,保证安装好ntp1、查看ntp是否存在rpm –qa | grep ntp2、如果出现则删除原有的ntp(如果没有出现,此步省略)yum –y remove ntpdate-....3、下载ntpyum –y install ntp(二)配置ntp文件1、修改所有节点的/etc/ntp.confvi /etc/ntp.conf打开之后是这个样子,然后添加两行代码restrict 192.168.6.3 nomodify

2020-07-05 19:37:15 2160

原创 大数据概况&Hadoop生态系统的描述

一、大数据介绍1. 什么是大数据大数据是指无法在一定时间内用常规软件工具对其内容进行抓取、管理和处理的数据集合。身边的大数据:微信、qq、抖音都是大数据。2. 大数据的特征4V特征Volume(大数据量): 90% 的数据是过去两年产生Velocity(速度快): 数据增长速度快,时效性高Variety(多样化): 数据种类和来源多样化结构化数据、半结构化数据、非结构化数据Value(价值密度低): 需挖掘获取数据价值固有特征时效性不可变性3. 大数据分布式计算介绍:大

2020-07-02 15:17:01 1719

edraw-max_cn_setup_full5676.exe

本资源是MySQL或别的关系型数据库的用于画出表与表之间关系的软件,方便建表和编程,便于理清表与表之间的关系。

2020-07-30

空空如也

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

TA关注的人

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