自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

zghgchao

技术开发,Java,大数据,Spark,hadoop

  • 博客(37)
  • 资源 (1)
  • 收藏
  • 关注

转载 理解RESTful架构

越来越多的人开始意识到,网站即软件,而且是一种新型的软件。这种"互联网软件"采用客户端/服务器模式,建立在分布式体系上,通过互联网通信,具有高延时(high latency)、高并发等特点。网站开发,完全可以采用软件开发的模式。但是传统上,软件和网络是两个不同的领域,很少有交集;软件开发主要针对单机环境,网络则主要研究系统之间的通信。互联网的兴起,使得这两个领域开始融合,现在我们必须考虑,如何开发

2017-12-30 17:01:20 175

原创 Spring Data简单使用

Spring Data JPA 快速起步开发环境搭建Spring Data JPA开发Maven依赖添加 org.springframework.data spring-data-jpa 1.11.7.RELEASE org.hibernate hibernate-entitymanager 5.0.12

2017-12-30 13:06:03 220

原创 传统方式访问数据库

传统方式访问数据库JDBCSpring JDBCTemplate弊端分析1)新建一Maven项目maven工程的目录结构 添加依赖 mysql mysql-connector-java 5.1.44

2017-12-30 11:54:08 286

原创 saprkStreaming NetworkWordCount案例

NetworkWordCount.scala源码import org.apache.spark.SparkConfimport org.apache.spark.streaming.{Seconds, StreamingContext}import org.apache.spark.streaming.StreamingContext._import org.apache.spark

2017-12-29 09:19:17 510

转载 RDD、DataFrame、Dataset的区别和各自的优势

在spark中,RDD、DataFrame、Dataset是最常用的数据类型,本博文给出笔者在使用的过程中体会到的区别和各自的优势。共性:1、RDD、DataFrame、Dataset全都是spark平台下的分布式弹性数据集,为处理超大型数据提供便利2、三者都有惰性机制,在进行创建、转换,如map方法时,不会立即执行,只有在遇到Action如foreach时,三者才会开始遍

2017-12-28 16:24:00 493

原创 Spark 外部数据源

External Data Sourcesrdbms,need JDBC jarsParquet、Phoenix、CSV、avro etc已使用avro外部数据源为例:参考【https://spark-packages.org/】这data Sources部分With spark-shell or spark-submit$ bin/spark-shel

2017-12-27 17:03:31 763

原创 Spark SQL Working with JSON

Working with JSONJSON data is most easily read-in as line delimied   JSON数据最容易以行分隔符的格式进行读取Schema is inferred upon load     Schema信息能自动推导If you want to flatten your JSON data,use the explode meth

2017-12-27 16:08:41 257

原创 RDD保存SaveMode

Save ModesSave operations can optionally take a SaveMode, that specifies how to handle existing data if present. It is important to realize that these save modes do not utilize any locking and a

2017-12-27 15:58:42 2119 1

原创 Spark SQL Use Cases

Spark SQL Use Cases(Spark SQL 使用场景)Ad-hoc queryig of data in files(数据文件的即席查询)即席查询:用户在使用的过程当中,可以使自己的需求,自己的定义查询,想查询什么用户,就查询什么用户,完全是由用户方决定的。而普通的应用查询只能使用定义好的标准来查。Live SQL analytics

2017-12-27 10:24:50 194

原创 Spark项目的优化

1.集群优化存储格式的选择csv,json,parquet等  ,如spark.read.format("parquet")压缩格式的选择spark.sql.parquet.compression.codecsnappySets the compression codec use when

2017-12-27 10:08:02 285

转载 Hadoop 压缩实现分析

引子随着云时代的来临,大数据(Big data)也获得了越来越多的关注。著云台的分析师团队认为,大数据(Big data)通常用来形容一个公司创造的大量非结构化和半结构化数据,这些数据在下载到关系型数据库用于分析时会花费过多时间和金钱。大数据分析常和云计算联系到一起,因为实时的大型数据集分析需要像 MapReduce 一样的框架来向数十、数百或甚至数千的电脑分配工作。 “大数据”在

2017-12-27 09:51:44 231

转载 大数据存取的选择:行存储还是列存储?

目前大数据存储有两种方案可供选择:行存储和列存储。业界对两种存储方案有很多争持,集中焦点是:谁能够更有效地处理海量数据,且兼顾安全、可靠、完整性。从目前发展情况看,关系数据库已经不适应这种巨大的存储量和计算要求,基本是淘汰出局。在已知的几种大数据处理软件中,Hadoop的HBase采用列存储,MongoDB是文档型的行存储,Lexst是二进制型的行存储。在这里,我不讨论这些软件的技术和优缺点,只围

2017-12-27 09:37:16 4601

原创 Spark On YARN

Spark On YARN概述Spark支持可插拔的集群管理模式                                                                                                                                                                 

2017-12-26 16:43:41 524

原创 数据可视化展示——echarts

数据可视化展示概述什么是数据可视化数据可视化:一副图片最伟大的价值莫过于它能够使得我们实际看到的比我们期望看到的内容更加丰富使用Spark SQL API完成统计分析为什么要可视化①视觉获取到的信息要远远比我们感觉到的要多②而且可视化后可以帮助我们分析数据更加全面③人的记忆力有限,可以帮我们更直观的观察数据常见

2017-12-26 09:53:58 739

原创 基于SparkSQL的网站日志分析实战

基于SparkSQL的网站日志分析实战用户行为日志概述          用户行为日志:用户每次访问网站时所有的行为数据(访问、浏览、搜索、点击...)                                   用户行为轨迹、流量日志为什么要记录用户访问行为日志网站页面的访问量网站的黏性推荐           2.

2017-12-24 16:06:43 2457

原创 SparkSQL查询优化

SparkSQL查询优化器帮助我们优化执行效率【Column pruning:列裁剪;Partitioning pruning:分区裁剪,上图中使用“year”做分区裁剪】【with Predicate Pushdown and Column Pruning:条件下压,列裁剪】【DataFrame Internals(内部结构):A:代表内部的“逻辑计划”;B:

2017-12-24 15:40:11 853

原创 Spark操作MySQL数据库

Scala编程方式// Note: JDBC loading and saving can be achieved via either the load/save or jdbc methods// Loading data from a JDBC sourceval jdbcDF = spark.read .format("jdbc") .option("url", "jd

2017-12-24 12:15:27 377

原创 SparkSQL操作Hive表数据

启动Hadoop:./sbin/start-all.sh启动Spark-Shell:./bin/spark-shell --master local[2]scala> spark.sql("show tables").show+--------+---------+-----------+|database|tableName|isTemporary|+--------+--------

2017-12-24 10:06:18 3044

原创 Spark External Data Source API

Spark 外部数据源 API操作产生背景           Every Spark application starts with loading data and ends with saving data.           每个Spark应用程序都开始于加载数据,结束于保存数据。对用户来说:方便快速从不同的数据源(json、parquet、rdb

2017-12-23 21:59:29 244

翻译 Spark Dataset介绍和使用

Dataset是从Spark 1.6开始引入的一个新的抽象,当时还是处于alpha版本;然而在Spark 2.0,它已经变成了稳定版了。下面是DataSet的官方定义:        Dataset是特定域对象中的强类型集合,它可以使用函数或者相关操作并行地进行转换等操作。每个Dataset都有一个称为DataFrame的非类型化的视图,这个视图是行的数据集。上面的定义看起来和RDD的定义类似

2017-12-23 20:23:51 6123

翻译 Spark DataFrame与RDD互操作

DataFrame与RDD的互操作1.Spark SQL支持将现有的RDDs转换为数据集的两种不同的方法。第一个方法使用反射来推断一个包含特定对象类型的RDD的模式。这种基于反射的方法会导致更简洁的代码,但要在编写Spark应用程序时就已经知道了Schema。2.创建数据集的第二种方法是通过一个编程接口,它允许您构造一个模式,然后将其应用到现有的RDD中。虽然这个方法比

2017-12-23 10:51:37 560

原创 Spark DataFrame概述

DataFrame它不是Spark SQL提出的,而是早起在R、Pandas语言就已经有了的。官网:http://spark.apache.org/docs/latest/sql-programming-guide.html#datasets-and-dataframesA Dataset is a distributed collection of data:分布式的数据集A D

2017-12-23 09:05:08 279

原创 thriftserver&beeline的使用

启动thriftserver::默认端口是10000 ,可以修改 ./sbin/start-thriftserver.sh --master local[2]2.启动beeline./bin/beeline -u jdbc:hive2://localhost:10000 -n hadoop0: jdbc:hive2://localhost:10000> show table

2017-12-22 21:36:32 437

原创 SQLContext/HiveContext/SparkSession的使用(三)

SparkSession的使用:Spark 2.x中Spark SQL的入口点是SparkSession。官网http://spark.apache.org/docs/latest/sql-programming-guide.htmlimport org.apache.spark.sql.SparkSessionval spark = SparkSession

2017-12-22 15:25:36 582

原创 SQLContext/HiveContext/SparkSession的使用(二)

在Spark中使用HiveContext:并不需要安装一个Hive,只需一个hive-site.xml即可。cp ${HIVE_HOME}/conf/hive-site.xml ${SPARK_HOME}/conf程序实现:import org.apache.spark.{SparkConf, SparkContext}import org.apache.spark.sql.hive.H

2017-12-22 11:05:15 999

原创 SQLContext/HiveContext/SparkSession的使用(一)

SQLContext/HiveContext是Spark 1.x中的两个Spark SQL入口,在Spark 2.X中Spark SQL入口为SparkSession。1.SQLContext的使用官网http://spark.apache.org/docs/1.6.0/sql-programming-guide.htmlval sc: SparkContext // An exi

2017-12-22 10:49:10 1274

原创 Hive基本使用

启动Hadoop:${HADOOP_HOME}/sbin/start-all.sh启动Hive:${HIVE_HOME}/bin/hive创建表:CREATE TABLE table_name [(col_name data_type [COMMENT col_comment])]create table hive_wordcount(

2017-12-21 14:04:09 1865

原创 Hive产生背景及Hive是什么

Hive产生背景           Apache Hive数据仓库软件可以使用SQL方便地阅读、编写和管理分布在分布式存储中的大型数据集。结构可以投射到已经存储的数据上。提供了一个命令行工具和JDBC驱动程序来将用户连接到Hive。产生背景有以下几个方面:MapReduce编程的不便性HDFS上的文件缺少Schema(字段名,字段类型等)Hive是什么

2017-12-21 10:17:10 5716

原创 Spark SQL DataFrame/Dataset介绍

Spark SQL DataFrame/Dataset介绍 Spark的RDD API比传统的MapReduce API在易用性上有了巨大提升,但对于没有MapReduce和函数式编程经验的新手来说,RDD API还是有一定门槛的。 在Spark中,DataFrame是一种以RDD为基础的分布式数据集,类似于传统数据库中的二维表格。与RDD的主要区别在于:前者带有Schema元数据,即Dat

2017-12-20 14:24:22 286

原创 Spark SQL简介

Spark SQL是Spark1.0版本中加入的组件,是Spark生态系统中最活跃的组件之一。它能够利用Spark进行结构化数据的存储和操作,结构化数据存储即可来自外部结构化数据源,也可以通过向已有RDD增加Schema的方式得到。Spark SQL提供了方便的接口调用,用户可以使用Scala、Java、Python语言开发基于Spark SQL API的数据处理程序,并通过SQL语句于Spa

2017-12-20 10:16:15 302

原创 Spark作业执行原理

Spark的作业和任务调度系统是其核心,它能够有效地进行调度根本原因是对任务划分DAG和容错,使得它对底层到顶层的各个模块之间的调用和处理显得游刃有余。相关术语介绍:作业(Job):RDD中由行动操作所生成的一个或多个调度阶段。调度阶段(Stage):每个作业会因为RDD之间的依赖关系拆分成多组任务集合,称为调度阶段,也叫做任务集(TaskSet)。调度阶段的划分是由DAGSchedu

2017-12-18 11:03:34 358

原创 Spark编程模型介绍

在早期并行计算的编程模式,缺乏针对数据共享的高效元语,会造成磁盘I/O以及序列化等开销,Spark提出了统一的编程抽象——弹性分布式数据集(RDD),该模型可以令并行计算阶段间高效地进行数据共享。Spark处理数据时,会将计算转换为一个有向无环图(DAG)的任务集合,RDD能够有效地恢复DAG中故障和慢节点执行的任务,并且RDD提供一种基于粗粒度变换的接口,记录创建数据集的“血统”,能够有效实

2017-12-18 10:06:34 234

原创 Spark Action操作

集合标量行动操作:first():T 表示返回RDD中的第一个元素,不排序count():Long 表示返回RDD中的元素个数reduce(f:(T,T)=>T):T 根据映射函数f,对RDD中的元素进行二元计算collect():Array[T] 表示将RDD转换成数组。take(num:Int):Array[T] 表示获取RDD中从0到num-1下标的元素,不排序。top(num:

2017-12-17 21:18:25 352

原创 Spark RDD依赖关系(Dependencies)

在RDD中将依赖划分成两种类型:窄依赖(Narrow Dependencies)和宽依赖(Wide Dependencies)。       窄依赖:是指每一个父RDD的分区都至多被一个子RDD的分区使用(每一个父RDD最多只能被一个子RDD使用)。       宽依赖:是多个子RDD的分区依赖一个父RDD的分区(一个父RDD被多个子RDD使用)。       在这两种依赖

2017-12-17 15:27:59 871

原创 Spark核心RDD:foldByKey函数详解

foldByKey(zeroValue: V, numPartitions: Int)(func: (V, V) => V): RDD[(K, V)]foldByKey(zeroValue: V)(func: (V, V) => V): RDD[(K, V)]foldByKey(zeroValue: V, partitioner: Partitioner)(func: (V, V) =>

2017-12-17 15:25:15 3856 3

转载 Spark核心RDD:combineByKey函数详解

为什么单独讲解combineByKey?因为combineByKey是Spark中一个比较核心的高级函数,其他一些高阶键值对函数底层都是用它实现的。诸如 groupByKey,reduceByKey等等如下给出combineByKey的定义,其他的细节暂时忽略(1.6.0版的函数名更新为combineByKeyWithClassTag)/** * Simplified

2017-12-17 15:01:52 213

转载 LSM树由来、设计思想以及应用到HBase的索引

LSM树由来、设计思想以及应用到HBase的索引讲LSM树之前,需要提下三种基本的存储引擎,这样才能清楚LSM树的由来:哈希存储引擎  是哈希表的持久化实现,支持增、删、改以及随机读取操作,但不支持顺序扫描,对应的存储系统为key-value存储系统。对于key-value的插入以及查询,哈希表的复杂度都是O(1),明显比树的操作O(n)快,如果不需要有序的遍历数据

2017-12-12 09:54:08 199

EV录屏 EVCapture_3.9.7

免费 好用的录屏软件,直播录屏、电脑桌面录屏,剪辑。EV录屏软件 是一款非常好用的桌面视频录制软件,这款软件可以帮助用户轻松的录制电脑屏幕,并且功能全免费无水印,是一款非常好用的桌面视频录制软件。

2020-12-11

空空如也

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

TA关注的人

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