
大数据框架
文章平均质量分 77
RayfunC
一个懂艺术, 会写文的攻城狮
展开
-
spark利用cache优化shuffle
cache表,数据放内存,数据被广播到Executor,将多份数据进行关联是数据处理过程中非常普遍的用法,不过在分布式计算系统中,这个问题往往会变的非常麻烦,因为框架提供的 join 操作一般会将所有数据根据 key 发送到所有的 reduce 分区中去,也就是 shuffle 的过程。造成大量的网络以及磁盘IO消耗,运行效率极其低下,这个过程一般被称为 reduce-side-join。如果其中有张表较小的话,我们则可以自己实现在 map 端实现数据关联,跳过大量数据进行 shuffle 的过程,原创 2021-01-02 18:41:13 · 761 阅读 · 0 评论 -
spark缓存机制cache,persist和checkpoint
避免spark每次都重算RDD以及它的所有依赖,cache()、persist()、 checkpoint()。1、cache():会被重复使用,但是不能太大的RDD,将其cache()到内存当中,catch()属于 memory only 。cache 是每计算出一个要 cache 的 partition 就直接将其 cache 到内存中。缓存完之后,可以在任务监控界面storage里面看到缓存的数据。2、persist():可以设置缓存级别,如只在内存,只在磁盘,内存磁盘都用。MEMORY_原创 2021-01-02 18:16:07 · 1201 阅读 · 1 评论 -
Flume到底会不会丢失数据?
Source到Channel是事务性的,put事务Channel到Sink也是事务性的,take事务这两个环节都不可能丢失数据, 传输失败后会回滚doRollback。但是source: (1)exec source ,后面接tail -f,这个数据也是有可能丢的。 (2)TailDir source ,这个是不会丢数据的,它可以保证数据不丢失。channel: 采用MemoryChannel,(1)在agent宕机时候导致数据在内存中丢失;(2)Channel...原创 2021-01-01 16:19:17 · 3021 阅读 · 2 评论 -
MapReduce的shuffle阶段优化详解
一、资源相关参数1)以下参数是在用户自己的mr应用程序中配置就可以生效(mapred-default.xml) 配置参数 参数说明 mapreduce.map.memory.mb 一个Map Task可使用的资源上限(单位:MB),默认为1024。如果Map Task实际使用的资源量超过该值,则会被强制杀死。 mapreduce.reduce.memory.mb 一个Reduce Tas.原创 2021-01-01 15:14:00 · 1162 阅读 · 0 评论 -
Hive求topN
select t2.* from( select pid,uid,cnt,row_number() over (partition by pid order by cnt desc ) as rank from ( select pid,uid,count(uid) as cnt from visit2 group by pid,uid order by pid,cnt desc ) as t1 ) as t2where t2.r.原创 2020-12-31 11:48:01 · 1132 阅读 · 0 评论 -
Kafka数据重复详细解决办法
Kafka自带方法:幂等性 +ack-1 + 事务kafka在0.11版新增了幂等型producer和事务型producer。前者解决了单会话幂等性等问题,后者解决了多会话幂等性幂等性: 支持单分区单会话, 分区内数据有序,对照id, 数据有唯一id存在不发送事务: 支持多分区, 数据有唯一id, 和所有分区中比较, 如果存在不发送, 效率低下 (生产环境较少使用, 容易数据挤压, 应更追求效率)保证数据 exactly-once 语义不重复的最佳解决办法:在下一级去重:SparkSt.原创 2020-12-31 10:52:39 · 3324 阅读 · 0 评论 -
RDD、DataFrame、DataSet对比与相互转换
RDD (Spark1.0) —> Dataframe(Spark1.3) —> Dataset(Spark1.6) 三者的共性1、RDD、DataFrame、Dataset 全都是 spark 平台下的分布式弹性数据集,为处理超大型数据提供便利2、三者都有惰性机制,在进行创建、转换,如 map 方法时,不会立即执行,只有在遇到 Action 如 foreach 时,三...原创 2019-01-30 15:54:18 · 920 阅读 · 0 评论 -
HBase 读写流程
读数据流程客户端先查看本地是否存有 meta 表 (包含所需数据所在的 HRegionServer 位置) 数据位置元信息的缓存, 即 blockCache, 如果有直接找对应的 HRegionServer 而不用去 zookeeper 查找元信息, 否则需要到 zookeeper 读取 meta 表, 读取后会先把位置元信息缓存到blockcache 找到 meta 信息后, 向对应...原创 2019-02-12 13:50:10 · 996 阅读 · 0 评论 -
azkaban 报错:javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection?
javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection? at sun.security.ssl.InputRecord.handleUnknownRecord(InputRecord.java:671) at sun.security.ssl.InputRecord.r...原创 2019-03-25 19:51:45 · 3646 阅读 · 0 评论 -
HUE 连接 MySql 数据库报错 libmysqlclient_r.so.16: cannot open shared object file: No such file
安装 CDH 的 HUE 时连接 MySql 数据库报错查看日志信息:Error loading MySQLdb module: libmysqlclient_r.so.16: cannot open shared object file: No such file or directorylibmysqlclient_r.so.16: cannot open shared objec...原创 2019-04-03 21:53:27 · 1111 阅读 · 2 评论 -
Kylin 报错 oops!org/apache/hadoop/hive/conf/HiveConf http-bio-7070-exec-10 NoClassDefFoundError
在 kylin 中加载 hive 表时,弹出提示框,内容是 “oops!org/apache/hadoop/hive/conf/HiveConf”,无法加载 hive 表,查找 kylin 的日志时发现,弹出提示框的原因是因为出现错误:ERROR [http-bio-7070-exec-10] controller.TableController:189 : org/apache/hadoop/h...原创 2019-03-23 12:04:55 · 994 阅读 · 0 评论 -
Hive 中 formatted 的使用
select * from 表名: 查询该表名的所有字段记录desc formatted 表名: 查看该表的结构,而并查看不了表中的数据示例:创建一个表create table if not exists student(id int, name string)row format delimited fields terminated by '\t'stored as tex...原创 2019-01-16 19:32:48 · 18489 阅读 · 0 评论 -
Hive 光速入门
Hive是什么Hive是Hadoop生态系统中一个重要的框架.Hive是建立在HDFS储存系统之上的数据查询, 统计, 分析框架, 对应的大数据生态中的分析模块, 而非储存模块.Hive是一个数据仓库工具, 通过类SQL => HQL 查询语句, 管理已经存在HDFS上的大型数据集.Hive可以根据已经储存的数据, 建立表结构, 指定映射关系, 用户可以使用一个命令行工具和JDBC...原创 2019-01-16 19:08:03 · 301 阅读 · 0 评论 -
Hive 调优详解
1.fetch属性在旧版本的 Hive 中, hive-default.xml.template文件中 hive.fetch.task.conversion 默认是 minimal, 修改为 more 后, 全局查找、字段查找、limit查找等都会直接执行而不会运行mapreduce.新版本的 Hive Fetch 的默认值已改为 more.2.本地模式数据量小的情况下, 可以使用本地模式...原创 2019-01-18 19:24:31 · 736 阅读 · 0 评论 -
Spark 使用 parquet 列式存储格式优化速度
1)如果说 HDFS 是大数据时代分布式文件系统首选标准,那么 parquet 则是整个大数据时代文件存储格式实时首选标准。2)速度更快:从使用 spark sql 操作普通文件 CSV 和 parquet 文件速度对比上看,绝大多数情况会比使用 csv 等普通文件速度提升10倍左右,在一些普通文件系统无法在 spark上成功运行的情况下,使用 parquet 很多时候可以成功运行。3)p...原创 2019-01-24 08:31:11 · 3928 阅读 · 1 评论 -
Spark 应用程序的执行过程
1)构建 Spark Application 的运行环境(启动 SparkContext),SparkContext 向资源管理器(可以是 Standalone、Mesos 或YARN)注册并申请运行 Executor 资源;2)资源管理器分配 Executor 资源并启动 StandaloneExecutorBackend,Executor 运行情况将随着心跳发送到资源管理器上;3)Sp...原创 2019-01-24 08:34:00 · 1074 阅读 · 0 评论 -
Kafka 原理总结
概念关键名词解释生产过程分析Broker 保存消息Kafka 集群为什么需要集成 zookeeper消费者组消费方式Consumer API 的使用Producer拦截器(interceptor)Kafka StreamsKafka 与 Flume概念Apache Kafka 是一个开源消息系统,由 Scala 写成,由 LinkedIn 公司开...原创 2019-01-24 14:24:53 · 681 阅读 · 0 评论 -
Flume 自定义 Source
Source 是负责接收数据到 Flume Agent 的组件Source 组件可以处理各种类型、各种格式的日志数据,包括 avro、thrift、exec、jms、spooling directory、netcat、sequence generator、syslog、http、legacy官方提供的 Source 类型已经很多,但是有时候并不能满足实际开发当中的需求,此时我们就需要根据实际需...原创 2019-01-21 19:35:21 · 3904 阅读 · 0 评论 -
Flume 参数调优
Source 增加Source个数(使用Tair Dir Source时可增加FileGroups个数)可以增大Source的读取数据的能力。 例如:当某一个目录产生的文件过多时需要将这个文件目录拆分成多个文件目录,同时配置好多个 Source 以保证 Source 有足够的能力获取到新产生的数据。 batchSize 参数决定 Source 一次批量运输到 Channel 的event条数,...原创 2019-01-21 19:50:17 · 618 阅读 · 0 评论 -
Impala,Hive,Hbase,关系数据库区别
Impala简介Impala是性能最高的SQL引擎(提供类似RDBMS的体验),它提供了访问存储在Hadoop分布式文件系统中的数据的最快方法。Impala将相同的元数据,SQL语法(Hive SQL),ODBC驱动程序和用户界面(Hue Beeswax)用作Apache Hive,为面向批量或实时查询提供熟悉且统一的平台。Impala不基于MapReduce算法。 它实现了一个基于守...翻译 2019-01-21 20:05:53 · 4912 阅读 · 0 评论 -
大数据常用端口号
Hadoop 50070:HDFS WEB UI 端口 50090: Secondary NameNode 端口 50010: dfs.datanode.address 8020 : 高可用的 HDFS RPC 端口 9000 : 非高可用的 HDFS RPC 远程过程调用端口 ...原创 2019-01-21 21:03:38 · 883 阅读 · 0 评论 -
Flume 监控 Ganglia 组件的安装
步骤1: 安装 httpd 和 phpsudo yum -y install httpd php步骤2: 安装其他依赖sudo yum -y install rrdtool perl-rrdtool rrdtool-develsudo yum -y install apr-devel步骤3: 安装 Gangliasudo rpm -Uvh http://dl.fed...原创 2019-01-22 11:25:03 · 265 阅读 · 0 评论 -
Hive 的三种安装方式
Hive的三种安装方式1)内嵌模式2)本地模式3)远程模式(HiveServer2)1)内嵌模式使用内嵌的derby数据库储存元数据, 默认即为内嵌模式运行hive会在当前目录生成一个derby文件和一个metastore_db目录同一个目录下同时只能有一个hive客户端能使用数据库, 适合用来测试, 不适用于生产环境需要在 Hive 根目录下的 conf 文件夹中创建 hive-sit...原创 2019-01-16 18:59:26 · 1213 阅读 · 0 评论 -
Hadoop 大数据生态
狭义指Hadoop框架, 大数据必备框架, Apache下开源的分布式系统基础框架, 主要解决海量数据的存储和分析计算问题广义指Hadoop生态圈, 包含大量用于大数据储存, 管理, 传输, 分析计算的框架Hadoop的三大发行版本Apache、Cloudera、HortonworksApache版本最原始(最基础)的版本,对于入门学习最好Cloudera在大型互联网企业中用的较...原创 2019-01-16 19:02:34 · 202 阅读 · 0 评论 -
Hive 中的 order by、sort by、distribute by 和 cluster by
order by全局排序,默认升序, Hive在运行MR程序时会指定Reducer个数为1默认Reducer个数为-1, 根据运行时HQL语句解析结果指定示例:1)查询员工信息按工资升序排列hive (default)> select * from emp order by salaray;2)查询员工信息按工资降序排列hive (default)> select * ...原创 2019-01-17 13:29:38 · 645 阅读 · 0 评论