一.简单聚合 1.1 数据准备 // 需要导入 spark sql 内置的函数包 import org.apache.spark.sql.functions._ val spark = SparkSession.builder().appName("aggregations").master("local[2]").getOrCreate() val empDF = spark.read.json("/usr/file/json/emp.json"…
一.简介 1.1 多数据源支持 Spark 支持以下六个核心数据源,同时 Spark 社区还提供了多达上百种数据源的读取方式,能够满足绝大部分使用场景. CSV JSON Parquet ORC JDBC/ODBC connections Plain-text files 注:以下所有测试文件均可从本仓库的resources 目录进行下载 1.2 读数据格式 所有读取 API 遵循以下调用格式: // 格式 DataFrameReader.format(...).option("key"…
--spark启动 spark-sql --退出 spark-sql> quit; --退出spark-sql or spark-sql> exit; 1.查看已有的database show databases; --切换数据库 use databaseName; 2.创建数据库 create database myDatabase; 3.登录数据库myDatabase; use myDatabase 4.查看已有的table show tables; -- 查看所有表 show table…
一. 数据准备 本文主要介绍 Spark SQL 的多表连接,需要预先准备测试数据.分别创建员工和部门的 Datafame,并注册为临时视图,代码如下: val spark = SparkSession.builder().appName("aggregations").master("local[2]").getOrCreate() val empDF = spark.read.json("/usr/file/json/emp.json") e…
Hive 常用DML操作 一.加载文件数据到表 1.1 语法 LOAD DATA [LOCAL] INPATH 'filepath' [OVERWRITE] INTO TABLE tablename [PARTITION (partcol1=val1, partcol2=val2 ...)] LOCAL 关键字代表从本地文件系统加载文件,省略则代表从 HDFS 上加载文件: 从本地文件系统加载文件时, filepath 可以是绝对路径也可以是相对路径 (建议使用绝对路径): 从 HDFS 加载文…
一.Database 1.1 查看数据列表 show databases; 1.2 使用数据库 USE database_name; 1.3 新建数据库 语法: CREATE (DATABASE|SCHEMA) [IF NOT EXISTS] database_name --DATABASE|SCHEMA 是等价的 [COMMENT database_comment] --数据库注释 [LOCATION hdfs_path] --存储在 HDFS 上的位置 [WITH DBPROPERTIES…
一.简介 Apache Flume 是一个分布式,高可用的数据收集系统,可以从不同的数据源收集数据,经过聚合后发送到分布式计算框架或者存储系统中.Spark Straming 提供了以下两种方式用于 Flume 的整合. 二.推送式方法 在推送式方法 (Flume-style Push-based Approach) 中,Spark Streaming 程序需要对某台服务器的某个端口进行监听,Flume 通过 avro Sink 将数据源源不断推送到该端口.这里以监听日志文件为例,具体整合方式如…
/// <summary> /// 本类提供了对byte数据的常用操作函数 /// </summary> public class ByteUtil { ','A','B','C','D','E','F'}; private static byte[] BITS = {0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80}; /// <summary> /// 将字节数组转换为HEX形式的字符串, 使用指定的间隔符 /// <…
Java,面试题,简历,Linux,大数据,常用开发工具类,API文档,电子书,各种思维导图资源,百度网盘资源BBS论坛系统 ERP管理系统 OA办公自动化管理系统 车辆管理系统 家庭理财系统 各种后台系统 一.面试题.简历资源 二.各类思维导图 三.大数据学习 四.Linux 五.各类常用开发工具类 六.百度网盘各类资源,包含java开发,项目实战,MYSQL,框架学习,大数据,Linux等等,应有尽有 百度网盘面试题资源 MySQL数据库 七.管理系统 程序员的道路,是一个不断不断不断学习的…
一. Spark简介 1.1 前言 Apache Spark是一个基于内存的计算框架,它是Scala语言开发的,而且提供了一站式解决方案,提供了包括内存计算(Spark Core),流式计算(Spark Streaming),交互式查询(Spark SQL),图形计算(GraphX),机器学习(MLLib). 1.2 安全性 默认情况下Spark安全性是关闭的.(正式环境要开启) 1.3 版本兼容性 Spark版本 Java版本 Python版本 Scala版本 R版本 2.4.1~2.4.5…
第一节 初识 Flink 在数据激增的时代,催生出了一批计算框架.最早期比较流行的有MapReduce,然后有Spark,直到现在越来越多的公司采用Flink处理.Flink相对前两个框架真正做到了高吞吐,低延迟,高性能. 1. Flink 是什么? 1) Flink 的发展历史 在 2010 年至 2014 年间,由柏林工业大学.柏林洪堡大学和哈索普拉特纳研究所联合发起名为"Stratosphere:Information Management on the Cloud"研究项目,该…
一.Flink 简介 Apache Flink 诞生于柏林工业大学的一个研究性项目,原名 StratoSphere .2014 年,由 StratoSphere 项目孵化出 Flink,并于同年捐赠 Apache,之后成为 Apache 的顶级项目.2019 年 1 年,阿里巴巴收购了 Flink 的母公司 Data Artisans,并宣布开源内部的 Blink,Blink 是阿里巴巴基于 Flink 优化后的版本,增加了大量的新功能,并在性能和稳定性上进行了各种优化,经历过阿里内部多种复杂业…
上一篇介绍了MongoDB增删改查命令的基本用法,这一篇来学习一下MongoDB的一些基本聚合函数. 下面我们直奔主题,用简单的实例依次介绍一下. > count() 函数 集合的count函数是最简单的聚合函数,返回集合中文档的数量. >  distinct() 函数 用于找出一个集合中,给定键的所有不同的值. 我们还可通过在数据库上运行命令,来执行distinct聚合函数,此时我们必须指定集合和键: 命令参数中,键"distinct"指定统计的集合名称,键"k…
在大数据时代,数据挖掘是最关键的工作.大数据的挖掘是从海量.不完全的.有噪声的.模糊的.随机的大型数据库中发现隐含在其中有价值的.潜在有用的信息和知识的过程,也是一种决策支持过程.其主要基于人工智能,机器学习,模式学习,统计学等.通过对大数据高度自动化地分析,做出归纳性的推理,从中挖掘出潜在的模式,可以帮助企业.商家.用户调整市场政策.减少风险.理性面对市场,并做出正确的决策.目前,在很多领域尤其是在商业领域如银行.电信.电商等,数据挖掘可以解决很多问题,包括市场营销策略制定.背景分析.企业管理…
一.Kylin是什么? Apache Kylin是一个开源的.分布式的分析型数据仓库,提供Hadoop/Spark 上的SQL查询接口及多维度分析(OLAP)能力以支持超大规模的数据,最初由eBay开发并贡献至开源社区.它能在亚秒内查询巨大的表. Apache Kylin 令使用者仅需三步,即可实现超大数据集上的亚秒级查询. 1.定义一个星形或雪花形数据模型 2.在定义的表上创建cube 3.使用标准的SQL通过ODBC,JDBC和Restful API即可在亚秒内查询到结果. 二.解决问题 任…
认识数据库备份和事务日志备份 数据库备份与日志备份是数据库维护的日常工作,备份的目的是在于当数据库出现故障或者遭到破坏时可以根据备份的数据库及事务日志文件还原到最近的时间点将损失降到最低点. 数据库备份 数据库备份可以手动备份和语句备份 手动备份数据库 1.鼠标右键选择你要进行备份的数据库-任务-备份,可以在常规选项页面你可以选择备份类型是进行完整数据库备份还是差异数据库备份 2.点击添加选项,选择数据库文件的存放路径注意文件名记得加后缀.bak,便于恢复时的查找 数据库还原 右键数据库-还原数…
原文地址:http://blog.csdn.net/zwan0518/article/details/11972853 目录(?)[-] 一查询优化 1创建索引 2缓存的配置 3slow_query_log分析 4分库分表 5子查询优化 二数据转移 21插入数据   如今随着互联网的发展,数据的量级也是撑指数的增长,从GB到TB到PB.对数据的各种操作也是愈加的困难,传统的关系性数据库已经无法满足快速查询与插入数据的需求.这个时候NoSQL的出现暂时解决了这一危机.它通过降低数据的安全性,减少对…
一.背景 先说一下,为什么要使用 Flume + Kafka? 以实时流处理项目为例,由于采集的数据量可能存在峰值和峰谷,假设是一个电商项目,那么峰值通常出现在秒杀时,这时如果直接将 Flume 聚合后的数据输入到 Storm 等分布式计算框架中,可能就会超过集群的处理能力,这时采用 Kafka 就可以起到削峰的作用.Kafka 天生为大数据场景而设计,具有高吞吐的特性,能很好地抗住峰值数据的冲击. 二.整合流程 Flume 发送数据到 Kafka 上主要是通过 KafkaSink 来实现的,主…
1.要求和支持的版本 (PS:我使用的环境,都用加粗标识了.) 1.1 支持的操作系统版本 操作系统 版本 RHEL/CentOS/OL with RHCK kernel 7.6, 7.5, 7.4, 7.3, 7.2,6.10, 6.9 , 6.8 Oracle Linux (OL) 7.4, 7.3, 7.2 (UEK default) SUSE Linux Enterprise Server SLES 12 SP4, 12 SP3, 12 SP2 Ubuntu Ubuntu 16.04 L…
having是用在聚合函数的用法.当我们在用聚合函数的时候,一般都要用到GROUP BY 先进行分组,然后再进行聚合函数的运算.运算完后就要用到HAVING 的用法了,就是进行判断了. 注意:select 后的字段,必须要么包含在group by中,要么包含在having 后的聚合函数里. having 用法与WHERE用法类似,但有三点不同1.HAVING只用于GROUP BY(分组统计语句),2.WHERE 是用于在初始表中筛选查询,HAVING用于在WHERE和GROUP BY 结果中查询…
简单概括:Hadoop是由Apache组织使用Java语言开发的一款应对大数据存储和计算的分布式开源框架. Hadoop的起源 2003-2004年,Google公布了部分GFS和MapReduce思想的细节,受此启发的Doug Cutting等人用2年的业余时间实现了DFS和MapReduce机制,使Nutch性能飙升.然后Yahoo招安Doug Gutting及其项目. 2005年,Hadoop作为Lucene的子项目Nutch的一部分正式引入Apache基金会. 2006年2月被分离出来,…
一.环境 Hadoop部署环境: Centos3.10.0-327.el7.x86_64 Hadoop2.6.5 Java1.8.0_221 代码运行环境: Windows 10 Hadoop 2.6.5 二.安装Hadoop-Eclipse-Plugin 在Eclipse中编译和运行Mapreduce程序,需要安装hadoop-eclipse-plugin,可下载Github上的 hadoop2x-eclipse-plugin . 下载后将release中的hadoop-eclipse-plu…
一.Flume简介 Apache Flume 是一个分布式,高可用的数据收集系统.它可以从不同的数据源收集数据,经过聚合后发送到存储系统中,通常用于日志数据的收集.Flume 分为 NG 和 OG (1.0 之前) 两个版本,NG 在 OG 的基础上进行了完全的重构,是目前使用最为广泛的版本.下面的介绍均以 NG 为基础. 二.Flume架构和基本概念 下图为 Flume 的基本架构图: 2.1 基本架构 外部数据源以特定格式向 Flume 发送 events (事件),当 source 接收到…
SparkSQL采用Spark on Hive模式,hive只负责数据存储,Spark负责对sql命令解析执行. SparkSQL基于Dataset实现,Dataset是一个分布式数据容器,Dataset中同时存储原始数据和元数据(schema) Dataset的底层封装了RDD,Row类型的RDD就是Dataset< Row >,DataFrame Dataset数据源包括:json,JDBC,hive,parquet,hdfs,hbase,avro... API 自带API Dataset…
一.Transformation spark 常用的 Transformation 算子如下表: Transformation 算子 Meaning(含义) map(func) 对原 RDD 中每个元素运用 func 函数,并生成新的 RDD filter(func) 对原 RDD 中每个元素使用func 函数进行过滤,并生成新的 RDD flatMap(func) 与 map 类似,但是每一个输入的 item 被映射成 0 个或多个输出的 items( func 返回类型需要为 Seq ).…
申明:本文出自:http://www.cnblogs.com/zlslch/p/5448857.html(该博客干货较多) 1 Java基础: 视频方面:          推荐<毕向东JAVA基础视频教程>. 链接:https://pan.baidu.com/s/1v6KxWA3kCJWAC0HpDSV4_A           提取码:msd9 学习hadoop不需要过度深入,java学习到javase,Java虚拟机的内存管理.以及多线程.线程池.设计模式.并行化多多理解实践即可. 书籍…
一.案例引入 这里先引入一个基本的案例来演示流的创建:获取指定端口上的数据并进行词频统计.项目依赖和代码实现如下: <dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-streaming_2.12</artifactId> <version>2.4.3</version> </dependency> import org.apac…
一.创建DataFrame和Dataset 1.1 创建DataFrame Spark 中所有功能的入口点是 SparkSession,可以使用 SparkSession.builder() 创建.创建后应用程序就可以从现有 RDD,Hive 表或 Spark 数据源创建 DataFrame.示例如下: val spark = SparkSession.builder().appName("Spark-SQL").master("local[2]").getOrCr…
这篇文章主要介绍Hive的概念. 简介: Hive中文名叫数据仓库管理系统,之前我们操作MapReduce必须通过编写代码或者通过特殊命令来实现,有了Hive我们通过常用的SQL语句就能操作MapReduce集群了.是不是感觉很方便. 这也是方便不懂MapReduce原理,懂SQL语句的人用的. 有好几个公司都推出了自己的Hive,其中比较出名的是Apache Hive,CDH Hive,HDP Hive和MapR Hive,大家刚开始学习大部分都用的Apache Hive,但是公司中却很少使用…
一.数据准备 为了演示查询操作,这里需要预先创建三张表,并加载测试数据. 数据文件 emp.txt 和 dept.txt 可以从本仓库的resources 目录下载. 1.1 员工表 -- 建表语句 CREATE TABLE emp( empno INT, -- 员工表编号 ename STRING, -- 员工姓名 job STRING, -- 职位类型 mgr INT, hiredate TIMESTAMP, --雇佣日期 sal DECIMAL(7,2), --工资 comm DECIMA…