spark

Spark复习 Day03:SparkSQL

你。 提交于 2020-02-10 21:52:28
Spark复习 Day03:SparkSQL 1. 什么是SparkSQL ----------------------------------------------- - SparkSQL是Spark用来处理结构化[表]数据的一个模块。 - 它提供了两个编程抽象:DataFrame和DataSet,底层还是RDD操作 2. DataFrame、DataSet 介绍 ------------------------------------------------ - DataFrame 1. 与RDD类似,DataFrame也是一个分布式数据容器 2. 不同的是,DataFrame更像是传统数据库的二维表格 3. 除了记录了数据以外,还记录了数据的结构信息,即Schema 4. 与Hive一样,DataFrame也支持嵌套数据类型[struct,array,map] 5. DataFrame的API 比 RDD的API更加好用 6. DataFrame是为数据提供了Schema的视图,可以把它当做数据库的一张表来对待 - DataSet 1. Dataset是DataFrameAPI的一个拓展,是Spark最新的数据抽象。DataFrame的升级版 2. 用户友好的API风格,既有类型的安全检查,収DataFrame的查询优化特性 3. DataSet支持编解码器

spark学习——spark shell学习

浪尽此生 提交于 2020-02-10 20:29:32
 今天按照实验三进行了相关的操作,实验三之前的是关于hadoop 以及hdfs的相关命令的使用,也包括Hadoop以及spark的安装,我之前就已经完成了相关环境的配置,所以我今天直接做了实验三中的spark shell命令的一部分,今天编程的部分因为之前理解了scala的一些编程方法所以今天进行的很顺利,唯一的问题就是对spark shell打包时候的相关语句不是很熟悉,,但是还是经过自己的理解完成了相关的shell命令的编程。   shell界面代码。 打包代码(第一次运行时间有点长)    之前的Hadoop的安装我是按照教程一步一步安装的,没有什么突发状况。 来源: https://www.cnblogs.com/huan-ch/p/12292304.html

spark Kryo serialization failed: Buffer overflow 错误

|▌冷眼眸甩不掉的悲伤 提交于 2020-02-10 20:14:58
今天在写spark任务的时候遇到这么一个错误,我的spark版本是1.5.1. 1 Exception in thread "main" com.esotericsoftware.kryo.KryoException: Buffer overflow. Available: 0, required: 124 2 at com.esotericsoftware.kryo.io.Output.require(Output.java:138) 3 at com.esotericsoftware.kryo.io.Output.writeBytes(Output.java:220) 4 at com.esotericsoftware.kryo.io.Output.writeBytes(Output.java:206) 5 at com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ByteArraySerializer.write(DefaultArraySerializers.java:29) 6 at com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ByteArraySerializer.write

Spark编程基础_RDD初级编程

牧云@^-^@ 提交于 2020-02-10 17:26:44
摘要:Spark编程基础_RDD初级编程 RDD(Resilient Distributed Dataset)叫做弹性分布式数据集,是Spark中最基本的数据抽象,它代表一个不可变、可分区、里面的元素可并行计算的集合。RDD具有数据流模型的特点:自动容错、位置感知性调度和可伸缩性。RDD允许用户在执行多个查询时显式地将工作集缓存在内存中,后续的查询能够重用工作集,这极大地提升了查询速度。 1.RDD编程基础 1.1 RDD创建 【1】从文件系统中加载数据创建RDD Spark采用textFile()方法来从文件系统中加载数据创建RDD 该方法把文件的URL作为参数,这个URL可以是: 本地文件系统的地址 或者是Amazon S3的地址等等 (1)创建RDD之前的准备工作 在即将进行相关的实践操作前,我们首先要登录linux系统,然后,打开命令行“终端”,输入 cd /usr/local/hadoop 进入相应文件夹 然后: ./sbin/start-dfs.sh 然后启动spark-shell 输入 cd /usr/local/spark ./bin/spark-shell 之后新建空白终端,进入“/usr/local/spark/mycode”目录,在这个文件夹下创建新的rdd子目录用来存放相关代码及文件; cd /usr/local/spark/mycode/ mkdir

寒假学习笔记05

五迷三道 提交于 2020-02-10 16:14:34
Spark Shell Spark 的 shell 作为一个强大的交互式数据分析工具,提供了一个简单的方式来学习 API。它可以使用 Scala(在 Java 虚拟机上运行现有的 Java 库的一个很好方式) 或 Python。在 Spark 目录里使用下面的方式开始运行: ./bin/spark-shell    Spark 最主要的抽象是叫Resilient Distributed Dataset(RDD) 的弹性分布式集合。RDDs 可以使用 Hadoop InputFormats(例如 HDFS 文件)创建,也可以从其他的 RDDs 转换。让我们在 Spark 源代码目录从 README 文本文件中创建一个新的 RDD。 scala> val textFile = sc.textFile("README.md") textFile: spark.RDD[String] = spark.MappedRDD@2ee9b6e3   RDD 的 actions 从 RDD 中返回值, transformations 可以转换成一个新 RDD 并返回它的引用。 让我们开始使用几个操作: scala> textFile.count() // RDD 的数据条数 res0: Long = 126 scala> textFile.first() // RDD 的第一行数据 res1:

搭建Hive所遇到的坑

江枫思渺然 提交于 2020-02-10 13:10:26
##一.基本功能: 1.启动hive时报错 java.lang.ExceptionInInitializerError at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:190) at org.apache.hadoop.hive.ql.stats.jdbc.JDBCStatsPublisher.init(JDBCStatsPublisher.java:265) at org.apache.hadoop.hive.ql.exec.mr.ExecDriver.execute(ExecDriver.java:412) Caused by: java.lang.SecurityException: sealing violation: package org.apache.derby.impl.jdbc.authentication is sealed at java.net.URLClassLoader.getAndVerifyPackage(URLClassLoader.java:388) at java.net.URLClassLoader.defineClass(URLClassLoader.java:417) 解决方案: 将mysql-connector-java-5

spark性能好的原因

眉间皱痕 提交于 2020-02-10 11:03:59
主要有两点: 1、spark基于内存计算,比hadoop基于硬盘速度快 2、spark会为每个job生成DAG,DAG内部会划分宽依赖和窄依赖,窄依赖一个Stage内的窄依赖进行pipeline操作,这样就Spark就会找到它的最佳计算位置,一次性进行计算完毕,减少不必要的网络IO Spark的DAG本质的优化主要程序员如何设计DAG,如何划分Stage,尽量多一点的窄依赖,这样就会大大加快了Spark计算速率 来源: CSDN 作者: cuiwenxu1 链接: https://blog.csdn.net/u011624157/article/details/104244410

Linux下Spark框架配置(Python)

旧街凉风 提交于 2020-02-10 08:45:57
简述    Spark是UC Berkeley AMP lab所开源的类Hadoop MapReduce的通用并行框架,Spark,拥有Hadoop MapReduce所具有的优点;但不同于MapReduce的是Job中间输出结果可以保存在内存中,从而不再需要读写HDFS,因此Spark能更好地适用于数据挖掘与机器学习等需要迭代的MapReduce的算法。由于spark带有Python的API,而本人比较专于Python语言。因此在此分享一下我在配置spark的方法以及心得。 配置过程 步骤一: 下载scala压缩包,进入链接 http://www.scala-lang.org/ ,点击download下载scala,并解压到当前目录下。 下载jdk压缩包,进入链接 http://www.oracle.com/technetwork/java/javase/downloads/index.html ,下载最新版jdk,若为64位系统请下载 jdk-8u91-linux-x64.tar.gz (本人下载版本为8u91,系统为64位),32位系统下载 jdk-8u91-linux-i586.tar.gz ,下载完成后解压到当前目录下。 下载spark压缩包,进入链接 https://spark.apache.org/downloads.html ,选择当前最新版本人为1.6.2

sprak pom

筅森魡賤 提交于 2020-02-10 07:09:25
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.aibabel.spark</groupId> <artifactId>hello-spark</artifactId> <version>1.0</version> <properties> <maven.compiler.source>1.7</maven.compiler.source> <maven.compiler.target>1.7</maven.compiler.target> <encoding>UTF-8</encoding> <scala.version>2.10.6</scala.version> <spark.version>1.6.1</spark.version> <hadoop

Spark集群术语

♀尐吖头ヾ 提交于 2020-02-09 07:31:08
Spark集群术语解析 1. Application Application是用户在Spark上构建(编写)的程序,包含driver program 和executors(分布在集群中多个节点上运行的Executor代码)。 2. SparkContext Spark的上下文对象,是程序的起点,通往集群的入口(与cluster进行连接),通过其可以创建RDD(获取数据),在其中配置的参数拥有最高优先级。在Spark中由SparkContext负责和ClusterManager通行,进行资源的申请,任务的分配和监控等。 3. Driver program 包含应用程序的main函数,并且运行时会创建SparkContext。当Executor部分运行完后,Driver负责将SparkContext关闭。 4. Cluster Manager 集群资源管理的外部服务,在Spark上现有Standalone(Spark自带的管理器),YARN(hadoop 2.x的管理器),Mesos等三种集群资源管理器,Standalone能满足绝大部分对集群资源管理的需求,基本上只有在集群中运行多套计算框架(例如同时运行MapReduce和Spark)的时候才建议使用YARN和Mesos。 5. Deploy mode 表明driver程序运行的位置。在”cluster”模式时