11 2018 档案
摘要:Hive 前言 Hive 是基于 Hadoop 的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供完整的 SQL 查询功能,将类 SQL 语句转换为 MapReduce 任务执行。 数据组织格式 下面是直接存储在HDFS上的数据组织方式 Table:每个表存储在HDFS上的一个目录
阅读全文
摘要:以下是整理的Spark中的一些配置参数,官方文档请参考Spark Configuration。 Spark提供三个位置用来配置系统: Spark属性:控制大部分的应用程序参数,可以用SparkConf对象或者Java系统属性设置 环境变量:可以通过每个节点的conf/spark-env.sh脚本设置
阅读全文
摘要:1.为什么要让运行时Jar可以从yarn端访问spark2以后,原有lib目录下的大JAR包被分散成多个小JAR包,原来的spark-assembly-*.jar已经不存在 每一次我们运行的时候,如果没有指定 spark.yarn.archive or spark.yarn.jars Spark将在
阅读全文
摘要:启动Spark任务时,在没有配置spark.yarn.archive或者spark.yarn.jars时, 会看到不停地上传jar非常耗时;使用spark.yarn.archive可以大大地减少任务的启动时间,整个处理过程如下 1.在本地创建zip文件 2.上传至HDFS并更改权限 3.配置spar
阅读全文
摘要:一.环境说明和使用软件的版本说明: hadoop-version:hadoop-2.9.0.tar.gz spark-version:spark-2.2.0-bin-hadoop2.7.tgz java-version:jdk1.8.0_151 集群环境:单机伪分布式环境。 二.适用背景 在学习Sp
阅读全文
摘要:在学习Spark过程中,资料中介绍的提交Spark Job的方式主要有三种: 第一种: 通过命令行的方式提交Job,使用spark 自带的spark-submit工具提交,官网和大多数参考资料都是已这种方式提交的,提交命令示例如下:./spark-submit --class com.learn.s
阅读全文
摘要:org.apache.spark.deploy.yarn.Client.scala中的monitorApplication方法: 其中: yarn state为finished的时候的状态细分不够明确,将原来的 reportLauncherState(SparkAppHandle.State.FAI
阅读全文
摘要:今天总结下,Hive metastore的结构设计。什么是metadata呢,对于它的描述,可以理解为数据的数据,主要是描述数据的属性的信息。它是用来支持如存储位置、历史数据、资源查找、文件记录等功能。元数据算是一种电子式目录。为了达到编制目录的目的,必须在描述并收藏数据的内容或特色,进而达成协助数
阅读全文
摘要:提前生成Hbase预分区种子,在创建Hbase表时也进行相应的预分区,同时设置预分区的个数,预分区的范围对应Hbase监控页面的Region Server的start key与End key,从而使数据能够均匀的分布于各个Region中。
阅读全文
摘要:一:任务调度和资源调度的区别: 任务调度是指通过DAGScheduler,TaskScheduler,SchedulerBackend完成的job的调度 资源调度是指应用程序获取资源的调度,他是通过schedule方法完成的 二:资源调度解密 因为master负责资源管理和调度,所以资源调度的方法s
阅读全文
摘要:二:Spark Worker启动Driver源码解析 补充说明:如果Cluster上的driver启动失败或者崩溃的时候,如果driverDescription的supervise设置的为true的时候,会自动重启,由worker负责它的重新启动。 DriverRunner对象 DriverRunn
阅读全文
摘要:参考https://community.hortonworks.com/questions/9265/how-can-i-add-configuration-files-to-a-spark-job-r.html 我的总结(以--files README.md为例):方法1:按照上面所说,--fil
阅读全文
摘要:java虽然是自动回收内存,但是应用程序,尤其服务器程序最好根据业务情况指明内存分配限制。否则可能导致应用程序宕掉。举例说明含义:-Xms128m表示JVM Heap(堆内存)最小尺寸128MB,初始分配-Xmx512m表示JVM Heap(堆内存)最大允许的尺寸256MB,按需分配。说明:如果-X
阅读全文
摘要:本博客内容基于Spark2.2版本,在阅读文章并想实际操作前,请确保你有: 老版本 老版本任务提交是基于启动本地进程,执行脚本spark-submit xxx ** 的方式做的。其中一个关键的问题就是获得提交Spark任务的Application-id,因为这个id是跟任务状态的跟踪有关系的。如果你
阅读全文
摘要:thriftserver和beeline的简单配置和使用启动thriftserver: 默认端口是10000 ,可以修改 $ ./${SPARK_HOME}/sbin/start-thriftserver.sh --master local[2] --jars ~/software/mysql-co
阅读全文
摘要:Spark多任务提交运行时候报错。 错误原因: 每一个Spark任务都会占用一个SparkUI端口,默认为4040,如果被占用则依次递增端口重试。但是有个默认重试次数,为16次。16次重试都失败后,会放弃该任务的运行。 解决方法
阅读全文
摘要:概述 ThriftServer相当于service层,而ThriftServer通过Beeline来连接数据库。客户端用于连接JDBC的Server的一个工具 步骤 1:启动metastore服务 2:连接 3:Spark编译时版本选择和Hive的关系 只要保证HDFS\MySQL没有问题,基本上S
阅读全文
摘要:Spark SQL读取数据Oracle的数据时,发现number类型的字段在读取的时候精度丢失了,使用的spark版本是Spark2.1.0的版本,竟然最后经过排查和网上查资料发现是一个bug。在Spark2.1.2以上的版本解决了这个问题。 number类型的数据通过spark sql的jdbc读
阅读全文