一、spark的命令行模式

1.第一种进入方式:执行 pyspark进入,执行exit()退出

注意报错信息:java.lang.IllegalArgumentException: Required executor memory (1024+384 MB) is above the (最大阈值)max threshold (1024 MB) of this cluster!

表示 执行器的内存(1024+384 MB) 大于最大阈值(1024 MB)

Please check the values of 'yarn.scheduler.maximum-allocation-mb' and/or 'yarn.nodemanager.resource.memory-mb'

2.初始化RDD的方法

本地内存中已经有一份序列数据(比如python的list),可以通过sc.parallelize去初始化一个RDD。

当执行这个操作以后,list中的元素将被自动分块(partitioned),并且把每一块送到集群上的不同机器上。

import pyspark

from pyspark import SparkContext as sc

from pyspark import SparkConf

conf=SparkConf().setAppName("miniProject").setMaster("local[*]")

#任何Spark程序都是SparkContext开始的,SparkContext的初始化需要一个SparkConf对象,SparkConf包含了Spark集群配置的各种参数(比如主节点的URL)。

#初始化后,就可以使用SparkContext对象所包含的各种方法来创建和操作RDD和共享变量。

#Spark shell会自动初始化一个SparkContext(在Scala和Python下可以,但不支持Java)。

#getOrCreate表明可以视情况新建session或利用已有的session

sc=SparkContext.getOrCreate(conf)

# 利用list创建一个RDD;使用sc.parallelize可以把Python list,NumPy array或者Pandas Series,Pandas DataFrame转成Spark RDD。

rdd = sc.parallelize([1,2,3,4,5])

rdd 打印 ParallelCollectionRDD[0] at parallelize at PythonRDD.scala:195

# getNumPartitions() 方法查看list被分成了几部分

rdd.getNumPartitions() 打印结果:2

# glom().collect()查看分区状况

rdd.glom().collect() 打印结果: [[1, 2], [3, 4, 5]]

二、可直接执行 spark-shell,也可以执行 spark-shell --master local[2]

多线程方式:运行 spark-shell --master local[N] 读取 linux本地文件数据 。通过本地 N 个线程跑任务,只运行一个 SparkSubmit 进程,利用 spark-shell --master local[N] 读取本地数据文件实现单词计数master local[N]:采用本地单机版的来进行任务的计算,N是一个正整数,它表示本地采用N个线程来进行任务的计算,会生成一个SparkSubmit进程

关于CDH集群spark的三种安装方式简述的更多相关文章

  1. 减轻集群负载、三种k8s 替代openstack的解决方案

    减轻集群负载.三种k8s 替代openstack的解决方案 待办 https://news.ycombinator.com/item?id=17013779 kubevirt https://host ...

  2. grub安装的 三种安装方式

    1. 引言 grub是什么?最常态的理解,grub是一个bootloader或者是一个bootmanager,通过grub可以引导种类丰富的系统,如linux.freebsd.windows等.但一旦 ...

  3. 【转】vue.js三种安装方式

    Vue.js(读音 /vjuː/, 类似于 view)是一个构建数据驱动的 web 界面的渐进式框架.Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件.它不仅易于上手 ...

  4. vue.js三种安装方式

    Vue.js(读音 /vjuː/, 类似于 view)是一个构建数据驱动的 web 界面的渐进式框架.Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件.它不仅易于上手 ...

  5. Hive的三种安装方式(内嵌模式,本地模式远程模式)

    一.安装模式介绍:     Hive官网上介绍了Hive的3种安装方式,分别对应不同的应用场景.     1.内嵌模式(元数据保村在内嵌的derby种,允许一个会话链接,尝试多个会话链接时会报错)   ...

  6. C++的三种继承方式简述

    C++对父类(也称基类)的继承有三种方式,分别为:public继承.protected继承.private继承.三种继承方式的不同在于继承之后子类的成员函数的"可继承性质". 在说 ...

  7. 第1节 yarn:14、yarn集群当中的三种调度器

    yarn当中的调度器介绍: 第一种调度器:FIFO Scheduler  (队列调度器) 把应用按提交的顺序排成一个队列,这是一个先进先出队列,在进行资源分配的时候,先给队列中最头上的应用进行分配资源 ...

  8. Mongodb集群搭建的三种方式

    转自:http://blog.csdn.net/luonanqin/article/details/8497860 MongoDB是时下流行的NoSql数据库,它的存储方式是文档式存储,并不是Key- ...

  9. Redis集群搭建的三种方式

    一.Redis主从 1.1 Redis主从原理 和MySQL需要主从复制的原因一样,Redis虽然读取写入的速度都特别快,但是也会产生性能瓶颈,特别是在读压力上,为了分担压力,Redis支持主从复制. ...

随机推荐

  1. 力导向图(关系图) echarts的运用

    <template> <div class="demo"> <div id="grap" class="grap&quo ...

  2. JAVA 异常汇总

    1  java.lang.ArithmeticException: / by zero 原因:当我们定义的被除数为整型时(short.int.long)会抛出此异常, 被除数为整型时不可为零.解决办法 ...

  3. MSIL实用指南-加载和保存参数

    本篇讲解怎么加载和保存参数,以及参数起始序号的确定. 参数的加载加载参数的指令是Ldarg.Ldarg_S.Ldarg_0.Ldarg_1.Ldarg_2.Ldarg_3.Ldarg_0是加载第0个参 ...

  4. 洛谷 P3627 【抢掠计划】

    题库:洛谷 题号:3627 题目:抢掠计划 link:https://www.luogu.org/problem/P3627 思路 : 这道题是一道Tarjan + 最长路的题.首先,我们用Tarja ...

  5. yzoj P2343 & 洛谷 P1437 [HNOI2004]敲砖块

    题意 在一个凹槽中放置了N层砖块,最上面的一层油N块砖,从上到下每层一次减少一块砖.每块砖都有一个分值,敲掉这块砖就能得到相应的分值,如图所示. 如果你想敲掉第i层的第j块砖的话,若i=1,你可以直接 ...

  6. TLS加密远程连接Docker

    <Docker远程连接设置>一文讲述了开启Docker远程连接的方法,但那种方法不安全,因为任何客户端都可以通过Docker服务的IP地址连接上去,今天我们就来学习Docker官方推荐的安 ...

  7. spark与mapreduce的区别

    spark是通过借鉴Hadoop mapreduce发展而来,继承了其分布式并行计算的优点,并改进了mapreduce明显的缺陷,具体表现在以下几方面: 1.spark把中间计算结果存放在内存中,减少 ...

  8. Istio 1.3 发布,HTTP 遥测不再需要 Mixer

    原文链接:Istio 1.3 发布,HTTP 遥测不再需要 Mixer Istio 是 Google.IBM 和 Lyft 联合开源的服务网格(Service Mesh)框架,旨在解决大量微服务的发现 ...

  9. BeetleX之FastHttpApi服务使用详解

    BeetleX是开个轻量级高性能的开源TCP通讯应用框架,通过BeetleX可以轻松扩展不同场的TCP应用服务和客户端组件.框架开源地址:https://github.com/IKende/Beetl ...

  10. Cookie的获取

    1.先创建Cookie对象,设置Cookie的键和值: Cookie cookie1="); Cookie cookie2="); Cookie cookie3="); ...