![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
spark
文章平均质量分 54
zghgchao
java开发/大数据/云计算
展开
-
CentOS克隆后配置静态IP
sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0删除UUID和HWADDR,修改IPPADDR为自己配置的ipsudorm -rf /etc/udev/rules.d/70-persistent-net.rules #删除rules文件,重启后会重新生成重启reboot原创 2017-11-04 13:07:50 · 200 阅读 · 0 评论 -
Spark RDD依赖关系(Dependencies)
在RDD中将依赖划分成两种类型:窄依赖(Narrow Dependencies)和宽依赖(Wide Dependencies)。 窄依赖:是指每一个父RDD的分区都至多被一个子RDD的分区使用(每一个父RDD最多只能被一个子RDD使用)。 宽依赖:是多个子RDD的分区依赖一个父RDD的分区(一个父RDD被多个子RDD使用)。 在这两种依赖原创 2017-12-17 15:27:59 · 847 阅读 · 0 评论 -
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 · 345 阅读 · 0 评论 -
Spark编程模型介绍
在早期并行计算的编程模式,缺乏针对数据共享的高效元语,会造成磁盘I/O以及序列化等开销,Spark提出了统一的编程抽象——弹性分布式数据集(RDD),该模型可以令并行计算阶段间高效地进行数据共享。Spark处理数据时,会将计算转换为一个有向无环图(DAG)的任务集合,RDD能够有效地恢复DAG中故障和慢节点执行的任务,并且RDD提供一种基于粗粒度变换的接口,记录创建数据集的“血统”,能够有效实原创 2017-12-18 10:06:34 · 222 阅读 · 0 评论 -
Spark作业执行原理
Spark的作业和任务调度系统是其核心,它能够有效地进行调度根本原因是对任务划分DAG和容错,使得它对底层到顶层的各个模块之间的调用和处理显得游刃有余。相关术语介绍:作业(Job):RDD中由行动操作所生成的一个或多个调度阶段。调度阶段(Stage):每个作业会因为RDD之间的依赖关系拆分成多组任务集合,称为调度阶段,也叫做任务集(TaskSet)。调度阶段的划分是由DAGSchedu原创 2017-12-18 11:03:34 · 346 阅读 · 0 评论 -
数据可视化展示——echarts
数据可视化展示概述什么是数据可视化数据可视化:一副图片最伟大的价值莫过于它能够使得我们实际看到的比我们期望看到的内容更加丰富使用Spark SQL API完成统计分析为什么要可视化①视觉获取到的信息要远远比我们感觉到的要多②而且可视化后可以帮助我们分析数据更加全面③人的记忆力有限,可以帮我们更直观的观察数据常见原创 2017-12-26 09:53:58 · 725 阅读 · 0 评论 -
基于SparkSQL的网站日志分析实战
基于SparkSQL的网站日志分析实战用户行为日志概述 用户行为日志:用户每次访问网站时所有的行为数据(访问、浏览、搜索、点击...) 用户行为轨迹、流量日志为什么要记录用户访问行为日志网站页面的访问量网站的黏性推荐 2.原创 2017-12-24 16:06:43 · 2441 阅读 · 0 评论 -
Spark On YARN
Spark On YARN概述Spark支持可插拔的集群管理模式原创 2017-12-26 16:43:41 · 491 阅读 · 0 评论 -
大数据存取的选择:行存储还是列存储?
目前大数据存储有两种方案可供选择:行存储和列存储。业界对两种存储方案有很多争持,集中焦点是:谁能够更有效地处理海量数据,且兼顾安全、可靠、完整性。从目前发展情况看,关系数据库已经不适应这种巨大的存储量和计算要求,基本是淘汰出局。在已知的几种大数据处理软件中,Hadoop的HBase采用列存储,MongoDB是文档型的行存储,Lexst是二进制型的行存储。在这里,我不讨论这些软件的技术和优缺点,只围转载 2017-12-27 09:37:16 · 4593 阅读 · 0 评论 -
Hadoop 压缩实现分析
引子随着云时代的来临,大数据(Big data)也获得了越来越多的关注。著云台的分析师团队认为,大数据(Big data)通常用来形容一个公司创造的大量非结构化和半结构化数据,这些数据在下载到关系型数据库用于分析时会花费过多时间和金钱。大数据分析常和云计算联系到一起,因为实时的大型数据集分析需要像 MapReduce 一样的框架来向数十、数百或甚至数千的电脑分配工作。 “大数据”在转载 2017-12-27 09:51:44 · 223 阅读 · 0 评论 -
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 · 277 阅读 · 0 评论 -
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 · 185 阅读 · 0 评论 -
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 · 2083 阅读 · 1 评论 -
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 · 249 阅读 · 0 评论 -
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 · 3810 阅读 · 3 评论 -
Spark核心RDD:combineByKey函数详解
为什么单独讲解combineByKey?因为combineByKey是Spark中一个比较核心的高级函数,其他一些高阶键值对函数底层都是用它实现的。诸如 groupByKey,reduceByKey等等如下给出combineByKey的定义,其他的细节暂时忽略(1.6.0版的函数名更新为combineByKeyWithClassTag)/** * Simplified转载 2017-12-17 15:01:52 · 204 阅读 · 0 评论 -
SparkSQL查询优化
SparkSQL查询优化器帮助我们优化执行效率【Column pruning:列裁剪;Partitioning pruning:分区裁剪,上图中使用“year”做分区裁剪】【with Predicate Pushdown and Column Pruning:条件下压,列裁剪】【DataFrame Internals(内部结构):A:代表内部的“逻辑计划”;B:原创 2017-12-24 15:40:11 · 844 阅读 · 0 评论 -
centOs下环境变量的配置
$ sudo vi ~/.bash_profileexport JAVA_HOME=/home/hadoop/app/jdk1.7.0_51export PATH=$JAVA_HOME/bin:$PATHexport MAVEN_HOME=/home/hadoop/app/apache-maven-3.3.9export PATH=$MAVEN_HOME/bin:$PAT原创 2017-11-04 11:26:54 · 248 阅读 · 0 评论 -
Hive产生背景及Hive是什么
Hive产生背景 Apache Hive数据仓库软件可以使用SQL方便地阅读、编写和管理分布在分布式存储中的大型数据集。结构可以投射到已经存储的数据上。提供了一个命令行工具和JDBC驱动程序来将用户连接到Hive。产生背景有以下几个方面:MapReduce编程的不便性HDFS上的文件缺少Schema(字段名,字段类型等)Hive是什么原创 2017-12-21 10:17:10 · 5683 阅读 · 0 评论 -
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 · 291 阅读 · 0 评论 -
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 · 1248 阅读 · 0 评论 -
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 · 973 阅读 · 0 评论 -
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 · 556 阅读 · 0 评论 -
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 · 430 阅读 · 0 评论 -
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 · 279 阅读 · 0 评论 -
Spark DataFrame与RDD互操作
DataFrame与RDD的互操作1.Spark SQL支持将现有的RDDs转换为数据集的两种不同的方法。第一个方法使用反射来推断一个包含特定对象类型的RDD的模式。这种基于反射的方法会导致更简洁的代码,但要在编写Spark应用程序时就已经知道了Schema。2.创建数据集的第二种方法是通过一个编程接口,它允许您构造一个模式,然后将其应用到现有的RDD中。虽然这个方法比翻译 2017-12-23 10:51:37 · 545 阅读 · 0 评论 -
Spark Dataset介绍和使用
Dataset是从Spark 1.6开始引入的一个新的抽象,当时还是处于alpha版本;然而在Spark 2.0,它已经变成了稳定版了。下面是DataSet的官方定义: Dataset是特定域对象中的强类型集合,它可以使用函数或者相关操作并行地进行转换等操作。每个Dataset都有一个称为DataFrame的非类型化的视图,这个视图是行的数据集。上面的定义看起来和RDD的定义类似翻译 2017-12-23 20:23:51 · 6084 阅读 · 0 评论 -
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 · 230 阅读 · 0 评论 -
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 · 3015 阅读 · 0 评论 -
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 · 371 阅读 · 0 评论 -
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 · 733 阅读 · 0 评论