自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 Hive性能优化

链接参考                                            https://www.cnblogs.com/smartloli/p/4356660.html转载于:https://www.cnblogs.com/tesla-turing/p/11515510.html...

2019-09-12 22:55:00 275

转载 HBase的二级索引

使用HBase存储中国好声音数据的案例,业务描述如下:为了能高效的查询到我们需要的数据,我们在RowKey的设计上下了不少功夫,因为过滤RowKey或者根据RowKey查询数据的效率是最高的,我们的RowKey的设计是:UserID + CreateTime + FileID,那么我们在HBase中的数据格式如下:每一行数据中包含两个Column:f:c和f:n我们在...

2019-09-12 21:50:00 326

转载 Hive 内置函数

原文见:https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF1.内置运算符1.1关系运算符运算符类型说明A = B 所有原始类型 如果A...

2019-09-11 23:06:00 263

转载 Hive 12、Hive优化

要点:优化时,把hivesql当做mapreduce程序来读,会有意想不到的惊喜。理解hadoop的核心能力,是hive优化的根本。长期观察hadoop处理数据的过程,有几个显著的特征:1.不怕数据多,就怕数据倾斜。2.对jobs数比较多的作业运行效率相对比较低,比如即使有几百行的表,如果多次关联多次汇总,产生十几个jobs,没半小时是跑不完的。mapreduce...

2019-09-11 23:05:00 195

转载 Hive 11、Hive嵌入Python

Hive嵌入PythonPython的输入输出都是\t为分隔符,否则会出错,python脚本输入print出规定格式的数据用法为先addfile,使用语法为TRANSFORM(name,items)USING'pythontest.py'AS(namestring,item1string,item2string,item3string),这里...

2019-09-11 22:51:00 170

转载 Hive 10、Hive的UDF、UDAF、UDTF

Hive自定义函数包括三种UDF、UDAF、UDTF  UDF(User-Defined-Function)一进一出  UDAF(User-DefinedAggregationFuncation)聚集函数,多进一出。Count/max/min  UDTF(User-DefinedTable-GeneratingFunctions)一进多出,如lateral...

2019-09-11 22:50:00 148

转载 Hive 9、Hive 在表中添加正则匹配

在Hive中还有一项比较好用的功能,也是非常重要的功能:在建表的时候可以不指定表的行、字段、列的分隔方式,通过给表指定一段正则表达式,让Hive自动去匹配;1、创建表CREATE TABLE apachelog ( dates STRING, times STRING, types STRING, info STRING)ROW FORMAT SE...

2019-09-11 22:47:00 219

转载 Hive 8、Hive2 beeline 和 Hive jdbc

1、Hive2 beelineBeeline 要与HiveServer2配合使用,支持嵌入模式和远程模式启动beeline打开两个Shell窗口,一个启动Hive2 一个beeline连接hive2#启动HiverServer2 , ./bin/hiveserver2 [root@node5 ~]# hiveserver216/02/23 22:55:25 ...

2019-09-11 22:46:00 133

转载 Hive 7、Hive 的内表、外表、分区

1、Hive的内表Hive 的内表,就是正常创建的表,在http://www.cnblogs.com/raphael5200/p/5208437.html中已经提到;2、Hive的外表创建Hive 的外表,需要使用关键字External:CREATE EXTERNAL TABLE [IF NOT EXISTS] [db_name.]table_name ...

2019-09-11 22:42:00 242

转载 Hive 6、Hive DML(Data Manipulation Language)

DML主要是对Hive 表中的数据进行操作的(增 删 改),但是由于Hadoop的特性,所以单条的修改、删除,其性能会非常的低所以不支持进行级操作;  主要说明一下最常用的批量插入数据较为常用的方法:1、从文件中加载数据语法:LOAD DATA [LOCAL] INPATH 'filepath' [OVERWRITE] INTO TABLE tablename [PAR...

2019-09-11 22:36:00 68

转载 Hive 5、Hive 的数据类型 和 DDL Data Definition Language)

官方帮助文档:https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL-- 扩展数据类型data_type : primitive_type | array_type | map_type | struct_type | union_type -- (Note:...

2019-09-11 22:33:00 121

转载 Hive 3、Hive 的安装配置(本地derby模式)

这种方式是最简单的存储方式,只需要在hive-site.xml做如下配置便可;$ vim hive-site.xml  <configuration> <property> <name>javax.jdo.option.ConnectionURL</name> <value&gt...

2019-09-11 22:30:00 236

转载 Hive 2、Hive 的安装配置(本地MySql模式)

一、前提条件  安装了Zookeeper、HadoopHDFSHA二、安装Mysql  因为使用量多的是单用户数据库模式,并且数据库使用最多的是mysql 所以在这里选择mysql数据库;$ yum install mysql-server$ service mysqld start#连接mysql $ mysql -uroot -p #首次密码...

2019-09-11 22:29:00 184

转载 Hive 1、什么是Hive,Hive有什么用

一、什么是Hive  Hive是建立在 Hadoop 上的数据仓库基础构架。它提供了一系列的工具,可以用来进行数据提取转化加载(ETL),这是一种可以存储、查询和分析存储在 Hadoop 中的大规模数据的机制。Hive 定义了简单的类 SQL 查询语言,称为 HQL,它允许熟悉 SQL 的用户查询数据。同时,这个语言也允许熟悉 MapReduce 开发者的开发自定义的 mapper ...

2019-09-11 22:25:00 272

转载 HBase应用

太多column family的影响每个 MemoryStore分配到的内存较少,进而导致过多的合并,影响性能几个column family比较合适呢推荐是:1-3个划分column family的原则:1、是否具有相似的数据格式2、是否具有相似的访问类型例子一: 相同的rowkey,有一个很大的text数据需要存储,又有一个pict...

2019-09-09 12:02:00 112

转载 HBase介绍

介绍HBase从功能上讲:HBase主要是解决分布式文件系统HDFS不能随机读写而设计的,HBase是架设在HDFS之上的,所以HBase可以存储海量的数据,HBase又可以支持随机读写,所以HBase是一个支持海量数据随机读写的分布式存储系统。从架构上讲:HBase中由zookeeper集群、一个HMaster以及若干个HRegionServer组成,zookeeper主要是负...

2019-09-09 11:17:00 295

转载 Kafka为什么这么快?

批量处理传统消息中间件的消息发送和消费整体上是针对单条的。对于生产者而言,它先发一条消息,然后broker返回ACK表示已接收,这里产生2次rpc;对于消费者而言,它先请求接受消息,然后broker返回消息,最后发送ACK表示已消费,这里产生了3次rpc(有些消息中间件会优化一下,broker返回的时候返回多条消息)。而Kafka采用了批量处理:生产者聚合了一批消息,然后再做2次rp...

2019-09-09 10:30:00 104

转载 Spark API--Spark 分区

一、分区的概念分区是RDD内部并行计算的一个计算单元,RDD的数据集在逻辑上被划分为多个分片,每一个分片称为分区,分区的格式决定了并行计算的粒度,而每个分区的数值计算都是在一个任务中进行的,因此任务的个数,也是由RDD(准确来说是作业最后一个RDD)的分区数决定。二、为什么要进行分区 数据分区,在分布式集群里,网络通信的代价很大,减少网络传输可以极大提升性能。mapreduc...

2019-09-08 23:40:00 79

转载 Spark RDD :Spark API--Spark RDD

一、RDD的概述1.1 什么是RDD?RDD(Resilient Distributed Dataset)叫做弹性分布式数据集,是Spark中最基本的数据抽象,它代表一个不可变、可分区、里面的元素可并行计算的集合。RDD具有数据流模型的特点:自动容错、位置感知性调度和可伸缩性。RDD允许用户在执行多个查询时显式地将工作集缓存在内存中,后续的查询能够重用工作集,这极大地提升了查询速...

2019-09-08 23:25:00 147

转载 Spark RDD :Spark API--图解Spark API

初识spark,需要对其API有熟悉的了解才能方便开发上层应用。本文用图形的方式直观表达相关API的工作特点,并提供了解新的API接口使用的方法。例子代码全部使用python实现。1. 数据源准备准备输入文件:$ cat /tmp/inapplebag bagcat cat cat启动pyspark:$ ./spark/bin/pyspark使用tex...

2019-09-08 23:17:00 134

转载 SparkSQL-通过JDBC读写mysql数据库

object JdbcDatasourceTest { def main(args: Array[String]): Unit = { val spark = SparkSession .builder() .appName("JdbcDatasourceTest") .master("local") .getO...

2019-09-08 23:06:00 456

转载 SQL操作Spark SQL--BasicSQLTestt

object BasicSQLTest { def main(args: Array[String]): Unit = { val spark = SparkSession .builder() .appName("BasicSQLTest") .getOrCreate() val sessionDf = spa...

2019-09-08 23:05:00 140

转载 SQL操作Spark SQL--CatalogApiTest

object CatalogApiTest { def main(args: Array[String]): Unit = { val spark = SparkSession .builder() .appName("CatalogApiTest") .getOrCreate() //查看spark sql应用...

2019-09-08 23:04:00 758

转载 SparkSQL读写外部数据源-jext文件和table数据源的读写

object ParquetFileTest { def main(args: Array[String]): Unit = { val spark = SparkSession .builder() .appName("ParquetFileTest") .getOrCreate() //1: 将json文件数...

2019-09-08 23:03:00 142

转载 SparkSQL读写外部数据源--数据分区

import com.twq.dataset.Utils._import org.apache.spark.sql.{SaveMode, SparkSession}object FilePartitionTest { def main(args: Array[String]): Unit = { val spark = SparkSession ...

2019-09-08 23:02:00 241

转载 SparkSQL读写外部数据源-通过jdbc读写mysql数据库

object JdbcDatasourceTest { def main(args: Array[String]): Unit = { val spark = SparkSession .builder() .appName("JdbcDatasourceTest") .master("local") .getO...

2019-09-08 23:01:00 353

转载 SparkSQL读写外部数据源--csv文件的读写

object CSVFileTest { def main(args: Array[String]): Unit = { val spark = SparkSession .builder() .appName("CSVFileTest") .master("local") .getOrCreate() ...

2019-09-08 23:00:00 570

转载 SparkSQL读写外部数据源-json文件的读写

object JsonFileTest { def main(args: Array[String]): Unit = { val spark = SparkSession .builder() .master("local") .appName("JsonFileTest") .getOrCreate()...

2019-09-08 22:59:00 218

转载 SparkSQL读写外部数据源-基本操作load和save

数据源-基本操作load和saveobject BasicTest { def main(args: Array[String]): Unit = { val spark = SparkSession .builder() .appName("BasicTest") .master("local") ....

2019-09-08 22:58:00 259

转载 RDD&Dataset&DataFrame

Dataset创建object DatasetCreation { def main(args: Array[String]): Unit = { val spark = SparkSession .builder() .appName("SparkSessionTest") .getOrCreate()...

2019-09-08 22:54:00 89

转载 Flume

一、Flume简介  flume 作为cloudera 开发的实时日志收集系统,受到了业界的认可与广泛应用。Flume 初始的发行版本目前被统称为 Flume OG(original generation),属于 cloudera。  但随着 FLume 功能的扩展,Flume OG 代码工程臃肿、核心组件设计不合理、核心配置不标准等缺点暴露出来,尤其是在 Flume OG 的...

2019-09-08 21:52:00 136

转载 讲解Flume

Spark Streaming通过push模式和pull模式两种模式来集成Flumepush模式:Spark Streaming端会启动一个基于Avro Socket Server的Receiver来接收Flume中的avro sink发来的数据,这个时候Flume avro sink就是作为客户端pull模式:这种模式是Spark自定义了一个Flume的sink作为Avro S...

2019-09-08 21:42:00 259

转载 Kafaka 总结

Kafka是一个分布式的Streaming处理平台,Kafka可以用于数据库中数据的导入导出,也可以用于实时流的处理,但是Kafka最核心的功能就是作为分布式的消息中间件。Kafka集群是由多个Broker Server组成的,消息的发送者称为Producer,消息的消费者称为Consumer,topic则是Kafka消息的发送、存储和消费中最核心的抽象,每一个Producer都需要...

2019-09-08 21:39:00 634

转载 性能:Output层面

将数据保存到MySQL中import java.sql.DriverManagerimport org.apache.spark.storage.StorageLevelimport org.apache.spark.streaming.{Seconds, StreamingContext}import org.apache.spark.{SparkConf, S...

2019-09-08 20:45:00 127

转载 性能:Receiver层面

创建多个接收器多个端口启动多个receiver在其他Executor,接收多个端口数据,在吞吐量上提高其性能。代码上:import org.apache.spark.storage.StorageLevelimport org.apache.spark.streaming.{Seconds, StreamingContext}import org.apac...

2019-09-08 20:44:00 188

转载 性能:Transform层面

数据处理的并行度1、BlockRDD的分区数(1)通过Receiver接受数据的特点决定(2)也可以自己通过repartition设置2、ShuffleRDD的分区数(1)默认的分区数为spark.default.parallelism(core的大小)(2)通过我们自己设置决定 val lines1 = ssc.socketTextStream("m...

2019-09-08 20:43:00 268

转载 原理

Spark Streaming官网参考:http://spark.apache.org/docs/latest/streaming-programming-guide.html一、Spark Streaming的原理Spark Streaming应用也是Spark应用,Spark Streaming生成的DStream最终也是会转化成RDD,然后进...

2019-09-08 20:41:00 83

转载 Backpressure & Elastic Scaling

spark.streaming从不稳定到稳定状态,解决数据量接收数据时突然变大,使得无法及时处理数据,稳定性得到保证开启方式:spark.streaming.backpressure.enabled = true  Elastic Scaling(资源动态分配)Spark Batch Application 动态...

2019-09-08 20:39:00 79

转载 语义(Semantics)

流计算语义(Semantics)的定义每一条记录被流计算系统处理了几次有三种语义:1、At most once 一条记录要么被处理一次,要么没有被处理2、At least once 一条记录可能被处理一次或者多次,可能会重复处理3、Exactly once 一条记录只被处理一次Zero data lost = 不管有失败还是没有失败,在每一个阶段都...

2019-09-08 20:36:00 609

转载 容错(Fault-tolerance)

Spark Streaming的容错包括了三个地方的容错:1、Executor失败容错:Executor的失败会重新启动一个新的Executor,这个是Spark自身的特性。如果Receiver所在的Executor失败了,那么Spark Streaming会在另外一个Executor上启动这个Receiver(这个Executor上可能存在已经接收到的数据的备份)2、Drive...

2019-09-08 20:35:00 1192

空空如也

空空如也

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

TA关注的人

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