HDFS

【赵强老师】大数据工作流引擎Oozie

两盒软妹~` 提交于 2020-08-16 11:32:29
一、什么是工作流? 工作流(WorkFlow)就是工作流程的计算模型,即将工作流程中的工作如何前后组织在一起的逻辑和规则在计算机中以恰当的模型进行表示并对其实施计算。工作流要解决的主要问题是:为实现某个业务目标,在多个参与者之间,利用计算机,按某种预定规则自动传递。下面我们以“员工请假的流程”为例,来为大家介绍什么是工作流。 这个例子包含了一个完整的员工请假流程。从“请假流程开始”,到“员工填写请假条”,再到“部门经理审批”,如果审批不通过,流程回到“员工填写请假条”;如果部门经理审批通过,则流程进入下一个节点;直到最后的流程结束。在Java中,我们可以使用一些框架帮助我们来实现这样的过程。Java的三大主流工作流引擎分别是:Shark,osworkflow,JBPM 二、什么是Oozie? 关于什么是Oozie,其实Oozie是服务于Hadoop生态系统的工作流调度工具,Job运行平台是区别于其他调度工具的最大的不同。但其实现的思路跟一般调度工具几乎完全相同。Oozie工作流通过HPDL(一种通过XML自定义处理的语言,类似JBOSS JBPM的JPDL)来构造。Oozie工作流中的Action在运程系统运行如(Hadoop,Pig服务器上)。一旦Action完成,远程服务器将回调Oozie的接口 并通知Action已经完成

Hadoop介绍

坚强是说给别人听的谎言 提交于 2020-08-16 11:27:41
Hadoop是Apache旗下的一个用java语言实现开源软件框架,是一个开发和运行处理大规模数据的软件平台,允许使用简单的编程模型在大量的计算机集群上对大型数据集进行分布式处理。 下面是Hadoop的版本: HDFS (分布式文件系统):解决海量数据存储 YARN (作业调度和集群资源管理的框架):解决资源任务调度 MAPREDUCE (分布式运算编程框架):解决海量数据计算 其中Hadoop2.0版本中多了YARN,更加合理的来解决资源任务调度问题,分解了Hadoop1.0版本中MapRuce的压力。 Hadoop特性优点: 扩容能力: Hadoop是可用的计算机集群间分配数据并完成计算任务的,这些集群可用方便的扩展到数以千计的节点中 成本低: Hadoop通过普通廉价的机器组成服务器集群来分发以及处理数据,以至于成本很低 高效率: 通过并发数据,Hadoop可以在节点之间动态并行的移动数据,使得速度非常快。 可靠性: 能自动维护数据的多份复制,并且在任务失败后能自动重新部署计算任务,所以Hadoop的按位存储和处理数据的能力值得人们信赖。 来源: oschina 链接: https://my.oschina.net/u/4373202/blog/4320928

如何在CDH 6.3.2 启用Kerberos 中 使用sentry限制 用户读写

泄露秘密 提交于 2020-08-16 10:28:59
如何在CDH 6.3.2 启用Kerberos 中 使用sentry 限制用户读写 标签(空格分隔): 大数据平台构建 一: 系统环境介绍 二: CDH6.3.2 启用安装sentry 三: sentry 使用 四:启用sentry测试 一: 系统环境介绍 操作系统 CentOS7.5x64 cdh/cm 版本 cm:6.3.1 cdh:6.3.2 采用root用户操作 前置条件: 1.CDH集群运行正常 2.集群已启用Kerberos且正常使用 ##二:CDH6.3.2 启用安装sentry 1.在MySQL中创建sentry数据库 # mysql -uroot -pflyfish225 mysql> create database sentry character set latin1; (这个地方必须是latin1 字符集) mysql> grant all privileges on sentry.* to 'sentry'@'%' identified by 'sentry_1234' with grant option; mysql> flush privileges; 三: sentry 使用 3.1 在 hive 中使用sentry 1.配置Hive使用Sentry服务 2.关闭Hive的用户模拟功能 3.2 在impala 中启用sentry

SparkSQL /DataFrame /Spark RDD谁快?

可紊 提交于 2020-08-16 08:36:54
如题所示,SparkSQL /DataFrame /Spark RDD谁快? 按照官方宣传以及大部分人的理解,SparkSQL和DataFrame虽然基于RDD,但是由于对RDD做了优化,所以性能会优于RDD。 之前一直也是这么理解和操作的,直到最近遇到了一个场景,打破了这种不太准确的认识。 某些场景下,RDD要比DataFrame快,性能有天壤之别。 需求如下 : 以下两份数据求交集,结果输出url。 数据一 ,json格式,地址我们用path_json表示,大小10T,每一行数据格式:{"id":"md5字符串", "url":" https://www.thesaurus.com/ ","title":"sysnonyms and antonyms",xxx},大概20来个字段; 数据二 ,csv格式,地址我们用path_csv表示,大小50G,每一行数据格式:name url,2个字段,用\t隔开。 拿到需求后,迅速瞟了一眼数据,爽快答应需求方分分钟搞定。 此时此刻,必须得祭出宇宙Top N的IDE,结合我30多年的人生阅历和代码经验,瞬间雷光电闪,惊雷骤起,一顿操作猛如虎,天空飘过以下几行代码: (老铁们,请自行安装python,pyspark,pycharm) 方案一 from pyspark.sql import SparkSession def join_it():

SparkSQL /DataFrame /Spark RDD谁快?

夙愿已清 提交于 2020-08-16 08:33:42
如题所示,SparkSQL /DataFrame /Spark RDD谁快? 按照官方宣传以及大部分人的理解,SparkSQL和DataFrame虽然基于RDD,但是由于对RDD做了优化,所以性能会优于RDD。 之前一直也是这么理解和操作的,直到最近遇到了一个场景,打破了这种不太准确的认识。 某些场景下,RDD要比DataFrame快,性能有天壤之别。 需求如下 : 以下两份数据求交集,结果输出url。 数据一 ,json格式,地址我们用path_json表示,大小10T,每一行数据格式:{"id":"md5字符串", "url":" https://www.thesaurus.com/ ","title":"sysnonyms and antonyms",xxx},大概20来个字段; 数据二 ,csv格式,地址我们用path_csv表示,大小50G,每一行数据格式:name url,2个字段,用\t隔开。 拿到需求后,迅速瞟了一眼数据,爽快答应需求方分分钟搞定。 此时此刻,必须得祭出宇宙Top N的IDE,结合我30多年的人生阅历和代码经验,瞬间雷光电闪,惊雷骤起,一顿操作猛如虎,天空飘过以下几行代码: (老铁们,请自行安装python,pyspark,pycharm) 方案一 from pyspark.sql import SparkSession def join_it():

删了HDFS又能怎样?记一次删库不跑路事件

只谈情不闲聊 提交于 2020-08-15 17:28:32
一、事发背景 二、应急措施 直观的方案 三、分析过程 hdfs文件删除过程 BlockManager EditLog hdfs元数据的加载 方案确定 四、灾难重演 五、经验总结 一、事发背景 ​ 上个月的某一天,由于集群空间不足,公司有一位技术经理级别的大数据leader在通过跳板机在某个线上集群执行手动清理命令,疯狂地执行 hadoop fs -rmr -skipTrash /user/hive/warehouse/xxxxx ,突然,不知道是编辑器的问题还是换行问题,命令被截断,命令变成了 hadoop fs -rmr -skipTrash /user/hive/warehouse ,悲剧此刻开始发生!? ​ /user/hive/warehouse 目录下存储了所有hive表的数据,关联公司多个业务线,一旦丢失,意味着巨大的损失。由于加了 -skipTrash 参数,意味着删除的数据不会放入回收站而是直接删除,这个参数不加的话很容易挽回,回收站里直接找,可惜逃不了墨菲定律,最担心的事还是发生了。 ​ 领导解决不了的事,只有小弟上,看我接下来怎样四两拨千斤。 二、应急措施 运维跟这位大数据经理第一时间找到我,当时说误删了 /user/hive/warehouse 目录。当时我也是一震惊,完了完了!凭我仅有的直觉,立马停掉了HDFS集群!后面证明是很明智的选择。 直观的方案

1.2Hadooop(分布式计算平台)快速入门篇

允我心安 提交于 2020-08-15 17:28:03
Hadooop( 分布式计算平台 )快速入门 任务目的 重点掌握Hadoop的核心组件 了解Hadoop的发展历史及其生态体系 熟记Hadoop的主要特性 任务清单 任务1:Hadoop简介 任务2:Hadoop产生背景 任务3:Hadoop特性 详细任务步骤 任务1:Hadoop简介 Hadoop 是 Apache 软件基金会旗下的一个 开源的分布式计算平台 。 Hadoop 提供的功能:利用服务器集群,根据用户的自定义业务逻辑,对海量数据进行分布式处理; 处理什么问题 ? 海量数据的存储和海量数据的分析计算问题 。也就是 Hadoop 的两大核心: HDFS 和 MapReduce 。 Hadoop 的核心组件有: Common (基础组件):(工具包, RPC 框架) JNDI 和 RPC HDFS (Hadoop Distributed File System 分布式文件系统) :HDFS是以分布式进行存储的文件系统,主要负责集群数据的存储与读取。 HDFS 的设计特点*: 1、大数据文件,非常适合上 T 级别的大文件或者一堆大数据文件的存储。 2、文件分块存储, HDFS 会将一个完整的大文件平均分块存储到不同计算器上,它的意义在于读取文件时可以同时从多个主机取不同区块的文件,多主机读取比单主机读取效率要高得多。 3、流式数据访问,一次写入多次读写,这种模式跟传统文件不同

大数据采集和抽取怎么做?这篇文章终于说明白了!

人走茶凉 提交于 2020-08-15 15:53:22
本文来源于公众号【胖滚猪学编程】,转载请注明出处! 关于数据中台的概念和架构,我们在 大白话 六问数据中台 和 数据中台全景架构及模块解析!一文入门中台架构师! 两篇文章中都说明白了。从这一篇文章开始分享中台落地实战。 其实无论是数据中台还是数据平台,数据无疑都是核心中的核心,所以闭着眼睛想都知道数据汇聚是数据中台/平台的入口。纵观众多中台架构图,数据采集与汇聚都是打头阵的: 本文将从以下几个方面分享数据采集的方方面面: 一、企业数据来源 二、数据采集概念和价值 三、数据采集常用工具 四、数据采集系统设计原则 五、数据采集模块生产落地分享 有来源才能谈采集,因此我们先来归纳下企业中数据来源。 数据来源 企业中的数据来源极其多,但大都都离不开这几个方面: 数据库,日志,前端埋点,爬虫系统等。 数据库我们不用多说,例如通常用mysql作为业务库,存储业务一些关键指标,比如用户信息、订单信息。也会用到一些Nosql数据库,一般用于存储一些不那么重要的数据。 日志也是重要数据来源,因为日志记录了程序各种执行情况,其中也包括用户的业务处理轨迹,根据日志我们可以分析出程序的异常情况,也可以统计关键业务指标比如PV,UV。 前端埋点同样是非常重要的来源,用户很多前端请求并不会产生后端请求,比如点击,但这些对分析用户行为具有重要的价值,例如分析用户流失率,是在哪个界面,哪个环节用户流失了

自定义Python环境创建spark任务

↘锁芯ラ 提交于 2020-08-15 12:26:47
说明: spark2.1.0(含)以下的版本不支持Python3.6 安装注意版本,请先检查版本 步骤 1. 创建虚拟python环境 这个不多介绍了,不管是通过annaconda还是virtualenv,创建好你自己的python环境。如果你也碰到了离线的平台,建议自己用docker做一个和服务器一样的系统版本,在上面完成虚拟的环境的创建,再将其拷贝出来; 2. 打包虚拟环境并将其上传hdfs 创建好环境后,进入到环境所在的文件夹,例如你的环境是 ***/***/py35, cd到py35下,使用打包命令将当前目录下的文件打包 zip -r py35.zip ./* 在当前文件夹下,将其上传至hdfs hadoop fs -put ***/***/py35.zip hdfs://***/***/***/env/ 3. 使用spark-submit命令引用 client模式下 --conf spark.yarn.dist.archives=hdfs://***/***/***/env/py35.zip#py35\ --conf spark.pyspark.driver.python=./py35/bin/python \ --conf spark.pyspark.python=./py35/bin/python \ 注意 archivs命令后的#是必须的

浅析图数据库 Nebula Graph 数据导入工具——Spark Writer

你。 提交于 2020-08-15 11:49:37
从 Hadoop 说起 近年来随着大数据的兴起,分布式计算引擎层出不穷。 Hadoop 是 Apache 开源组织的一个分布式计算开源框架,在很多大型网站上都已经得到了应用。Hadoop 的设计核心思想来源于 Google MapReduce 论文,灵感来自于函数式语言中的 map 和 reduce 方法。在函数式语言中,map 表示针对列表中每个元素应用一个方法,reduce 表示针对列表中的元素做迭代计算。通过 MapReduce 算法,可以将数据根据某些特征进行分类规约,处理并得到最终的结果。 再谈 Apache Spark Apache Spark 是一个围绕速度、易用性构建的通用内存并行计算框架。在 2009 年由加州大学伯克利分校 AMP 实验室开发,并于 2010 年成为 Apache 基金会的开源项目。Spark 借鉴了 Hadoop 的设计思想,继承了其分布式并行计算的优点,提供了丰富的算子。 Spark 提供了一个全面、统一的框架用于管理各种有着不同类型数据源的大数据处理需求,支持批量数据处理与流式数据处理。Spark 支持内存计算,性能相比起 Hadoop 有着巨大提升。Spark 支持 Java,Scala 和 Python 三种语言进行编程,支持以操作本地集合的方式操作分布式数据集,并且支持交互查询。除了经典的 MapReduce 操作之外,Spark