首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

Spark 整体介绍

Spark 是一个大数据运算框架,使用了DAG调度程序,比基于Hadoop MapReduce 运行速度提高了100倍以上     Spark 是一个通用框架,对于不同的运行场景都提供了对于的解决方案:         基于流式运算的 Spark Streaming框架         基于SQL 语法的 Spark SQL框架         基于图运算的 GraphX 框架         基于人工智能与机器学习的 MLlib 框架     Spark 可运行在 Yarn 框架上,还可以运行在独立的集群,Mesos,kubernetes 等集群上面,访问HDFS,HBase,Hive等上百种数据源     Spark 支持 Scala,Java,Python及R语言的快速编写     Spark 角色分为 HMaster,Worker俩种角色,Spark 启动命令为 Spark-Submit(简称Driver),      Spark 运算框架可以不基于Hadoop 框架进行数据运行,所以在配置conf文件时,不涉及 Hadoop 相关东西,在运算时,         如果数据存储或者需要写入到HDFS时,需要指定数据读取/写入命令         如果只是Local模式运行(调试模式),可以不基于HDFS     提示:[集群在运行过程中,涉及SSH访问,所以集群配置时一定需要免密登陆方可执行]     Spark 集群安装                 1. 配置文件修改             spart-env.xml    配置HMaster IP,端口             slave.sh 配置workers ip地址         2. 启动Spark集群             start-all.sh     Spark 高可用安装         可以采用,也可以不采用,根据自身条件而定         1. 安装Zookeeper 集群及配置Zookper集群,修改HMaster IP端口为Zookeeper 地址,并且启动             spart-env.xml         2. 启动Spark 集群             start-all.sh         3. 配置HMaster StandBy 进程 并且启动             hmaster-start.sh     提交Spark Sample任务         1.spart-submit classpath jarpath      Spark任务执行流程         Spark任务执行流程与Yarn任务执行流程类型         1. 首先客户端编写配置Configuration信息,打包Jar包,发起任务到HMaster         2. HMaster根据用户下发的任务信息,配置Worker个数及Worker对应的内存及CPU等,并且启动Worker;         3. Worker根据HMaster下发参数信息,并且与Client交互,获取对应的jar包等信息,然后启动Executor行数据处理(一个Worker下可以包含多个Executor)         4. 输出保存数据。     Yarn与Spark的对比         Yarn    ResourceManager   DataManager   YarnChild    (Job/Client)/ApplicationMastor                 Spark   HMaster           Worker        Executor    SparkSubmit     SparkShell 执行         SparkShell 可以理解为Spark的交互式编程窗口,在启动SparkShell那一瞬间,Spark任务已经启动,每个Work已经分配内存及CPU,等待执行任务,一般不采用SparkShell执行任务,不推荐。     Scala编写Spark                                     Spark对Scala的支持最好,Spark是用Scala语言开发的,所以Spark中包含了很多Scala特有的语法,这一点是其他语言所不能比拟的,所以编写Spark任务推荐使用Scala。         Spark 任务入口为SparkContext,首选需要创建SparkContent,然后就可以按照Spark任务执行流程进行编写,指定MapTask执行操作,ReduceTask执行操作,数据输入,数据输出等。

01

如何定位10TB数据查询错误?

​问题:在SQL执行引擎侧对sort做了一些优化,集群机器从23台缩容18台之后,这个sql运行后出现了结果错误的问题,在原来23台以及其他规模的集群场景下没任何问题,数据出来不对了,幸亏这是个测试场景,于是便可以出debug包进行调试。 ​ ​思路:其中几个关键点。 ​ ​第一:数据不一致,这里指的是优化后的向量化执行引擎与优化前的向量化执行引擎的结果对比。 ​第二:集群规模发生了变更。 ​ ​所以基于这两点进行分析。 ​ 1.​首先通过debug包捞出计算后的数据,如果符合预期那么优化前后的数据应该是匹配的,数据规模是10TB,数据行数大约是1.3亿条,抓取多少条能分析出问题是一个比较重要的参数,于是设置了200进行对比,其结果如下:

01

【干货】中国联通大数据能力开放平台容器化实践

导读:中国联通大数据能力开放平台为支撑公司内部数据运营和外部数据合作提供了丰富的框架资源、数据资源、多样化的组件和工具以及应用部署环境。 平台为每个入驻租户都提供了独享和隔离的计算框架和数据库服务,包括关系型、离线分析型、流数据类、KV类型等;提供的数据服务包括抽取联通脱敏后的用户标签数据;提供的数据加工、分析类组件种类就更多了,包括元数据、数据质量、地图服务、分布式服务框架、分布式ETL、工作流引擎等二十多种。 随着容器技术的普及,一些租户也提出了希望开放平台能够提供一个友好的容器开发和运行环境,开放

06
领券