![](https://img-blog.csdnimg.cn/20190918140145169.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Big Data
大数据
鹜 骜
我不去想,是否能够成功 ,既然选择了远方 ,便只顾风雨兼程。
展开
-
记录个坑 python写文件出现空文件
根据网上的答案 都说是因为文件没有close()但我是关闭了的 ,不太符合情况最后原因是 我python要读的文件在linux服务器上多了斜杠和反斜杠之类的东西。导致了程序不认识。最终输出了空文件。记录一下思路 多用print看看每一步输出是不是符合自己预期。...原创 2021-07-13 10:38:23 · 884 阅读 · 1 评论 -
存储过程 游标
游标实际上是一种能从包括多条数据记录的结果集中每次提取一条记录的机制。游标充当指针的作用。尽管游标能遍历结果中的所有行,但他一次只指向一行。游标的作用就是用于对查询数据库所返回的记录进行遍历,以便进行相应的操作。CREATE DEFINER=`root`@`%` PROCEDURE `proc_student_source_all`()BEGIN DECLARE p_school_name varchar(100); DECLARE done INT DEFAULT 0; D原创 2021-05-14 17:32:25 · 294 阅读 · 0 评论 -
ERROR 1093 (HY000): You can‘t specify target table ‘student2‘ for update in FROM clause
在mysql中,不能通过嵌套子查询来直接删除或者修改记录,需要通过别名来指定嵌套子查询作为一个临时表。解决办法:给嵌套子查询的结果取一个别名,然后从这个表中再次查询出记录,然后再做删除或者修改操作。delete from student2 where id not in(select a.id from(select id from student2 group by no,name,coursename,courseno,score)a);...原创 2021-05-14 17:05:35 · 149 阅读 · 0 评论 -
update 两个表关联 更新
update table1 a set a.c = (select b.b from table2 b where a.a=b.a)原创 2021-05-14 17:04:42 · 8283 阅读 · 2 评论 -
[Kettle] java代码组件使用教学 & Kettle5.4版本java代码组件bug
文章目录java代码组件教学关于KETTLE 5.4版本java代码组件bug其实我是很烦在kettle里边写java代码,因为有些地方很不智能。比如TM的他不支持泛型。但是公司一直在用只能硬的头皮来。最近在使用过程中就碰到了一个版本bug。网上没有找到答案。最后公司前辈有碰到过,帮我解决了问题,于是在这记录一下java代码组件教学先介绍一下kettle里边java代码组件kettle中java代码基本上是用来处理普通组件无法完成的一些操作,如果普通组件就能完成功能,那就没有必要去使用java代码“原创 2020-08-31 18:35:44 · 1677 阅读 · 0 评论 -
[Kettle] 公式 使用方法
今天要将流中数据接收到 之后存储在mysql数据库中接受过来的字段是这样:这个 100% 是个String类型可是要 更新/插入 的表中对应的字段却是 int 类型 这个"%"就存不进去目前任务 就是要把%去掉kettle中转换工具眼花缭乱,网上讲用 字符串替换 执行sql脚本之类 但是一直也没找到个demo让人能够茅厕(ce)顿开最后用了函数解决 并且学习了一写关于函数的使用方法请看下面demo1)我在生成记录中自定义一个ratio字段String类型,并且规定了值为100%2.原创 2020-05-27 15:35:39 · 4122 阅读 · 5 评论 -
[ETL] 初识kettle
前言:编写kettle的应该是一位爱做饭的程序员kettle 是 java编写 需要jdk环境kettle 组成1.勺子(Spoon.bat/spoon.sh)图形化界面 win选择bat linux选择sh2.锅(Pan.bat/pan.sh)调用Trans3.厨房(Kitchen.bat/.sh)调用job4.菜单(Carte.bat/.sh) 轻量级的web容器 用于建立专用远程的ETL Server 可分布式存储机制以xml形式存储以资源库方式存储(数据资源库.原创 2020-05-12 23:02:16 · 183 阅读 · 0 评论 -
[hive] 窗口函数详解
前言:面试官:窗口函数使用过吗?:了解过啊。窗口函数应用场景:(1)用于分区排序(2)动态Group By(3)Top N(4)累计计算(5)层次查询比如RANK() 排序相同时会重复,总数不会变DENSE_RANK() 排序相同时会重复,总数会减少ROW_NUMBER() 会根据顺序计算OVER():指定分析函数工作的数据窗口大小面试官:小伙子理论还行啊,来用我这电脑建张表实际操作...原创 2020-05-01 13:19:43 · 461 阅读 · 0 评论 -
[ETL] 数据质量
前言面试官:看你写 有参与过数据清洗ETL之类的工作? 讲讲你这个项目中数据质量是怎么做的:啥数据质量?GG概念数据质量是一种通过测量和改善数据综合特征来优化数据价值的过程。是通过数据收集 、数据识别/匹配 、数据标准化 、数据清理和数据聚集来实现数据质量。由于数据仓库对数据的要求比较严格。错误的数据不仅会带来数据仓库自身维护的高昂费用 ,而且更重要的是会导致制定糟糕的决策。数据质量问...原创 2020-04-30 20:35:00 · 911 阅读 · 0 评论 -
[big data] 数仓
定义一个数据仓库通常是一个面向主题 的(subject— oriented)、集成的 (integrated)、相对稳定 的(non—volatile)、反映时间变化的 (time—variant)数据集合 ,它 是建立决策支持系统 (Dss)的数据基础 。数据仓库有如下 4个特征 :(1)面向主题的.所谓 主题 ,是指用户使 用数据仓库进行决 策时所关心 的重点方面 ,如销售情况 ,人事情...原创 2020-04-30 16:35:36 · 575 阅读 · 0 评论 -
[hive] 你怎么连 select * 都整不明白?
前言:hive将hql语句经过解析器,编译器,优化器,执行器变成可执行的mapreduce程序,balabala…又一顿mapreduce运行过程给面试官讲完之后面试官:小伙子理论不错。那比如一个简单的hql语句select x from x1 join 一下 x2 group by ,这条语句对应到mr是在哪个阶段干活具体又是怎么处理的。我又GG了 只背理论,理解不深入...原创 2020-04-30 14:51:56 · 518 阅读 · 1 评论 -
hive常用参数调优
hive.map.aggr决定是否可以在 Map 端进行聚合操作hive.groupby.skewindata开启数据倾斜时的负载均衡mapred.reduce.tasks设置所提交 Job 的 reduer 的个数hive.mapjoin.cache.numrowsHive Map Join 所缓存的行数。hive.exec.mode.local.auto决定 Hive 是否应...原创 2020-04-15 22:45:18 · 288 阅读 · 0 评论 -
hive数据倾斜
造成数据倾斜的原因:key 分布不均匀业务数据本身的特性建表考虑不周全某些 HQL 语句本身就存在数据倾斜产生数据倾斜的业务场景1.空值产生的数据倾斜在日志中,常会有信息丢失的问题,比如日志中的 user_id,如果取其中的 user_id 和用户表中的 user_id 相关联,就会碰到数据倾斜的问题。解决方案 1:user_id 为空的不参与关联select * from lo...原创 2020-04-15 22:21:34 · 380 阅读 · 0 评论 -
Hive与数据库比较 & hive中4个By的比较
Hive 和数据库比较Hive 和数据库除了拥有类似的查询语言,再无类似之处。1数据格式:hive数据格式可以用户自定义,mysql有自己的系统定义格式;2数据规模:hive存储的数据量超级大,而mysql只是存储一些少量的业务数据;3数据存储位置:Hive 存储在 HDFS 。数据库将数据保存在块设备或者本地文件系统中。4数据更新 :Hive 中不建议对数据的改写。而数据库中的数据通...原创 2020-04-15 15:20:16 · 1146 阅读 · 0 评论 -
Yarn工作机制,三种调度器
hadoop的三种调度器FIFO(先进先出调度器) 、Capacity Scheduler(容量调度器)和 Fair Sceduler(公平调度器)。FIFO先进先出调度器,同一时间队列中只有一个任务在执行。Capacity Scheduler容量调度器:多队列;每个队列内部先进先出,同一时间队列中只有一个任务在执行。队列的并行度为队列的个数。(默认调度器)Fair Schedule...原创 2020-04-15 14:51:48 · 1746 阅读 · 0 评论 -
MR优化 & hadoop参数调优
优化小文件所谓小文件,就是单个文件的size小于blockSize。HDFS 小文件影响(1)影响 NameNode 的寿命,因为文件元数据存储在 NameNode 的内存中(2)影响计算引擎的任务数量,因为每个小的文件都会生成一个 Map 任务数据输入小文件处理:(1)合并小文件:对小文件进行归档(Har)、自定义 Inputformat 将小文件存储成SequenceFile 文...原创 2020-04-15 12:57:36 · 405 阅读 · 0 评论 -
flume整合kafka
为什么要用flume对接kafka生产环境增量数据多都是日志文件选用flume更好的达到实时监控加入kafka的作用:可以对接多个业务线(将数据分类发送到不同topic)也可以动态增加业务线,不用增加备份(解耦)案例一:用netcat,kafkasink达到简单对接1.flume配置文件a1.sources = r1a1.sinks = k1a1.channels = c1#sou...原创 2020-04-09 16:01:20 · 234 阅读 · 0 评论 -
kafka笔记五 API
文章目录dependenciesProducerConsumer自定义分区的ProducerKafka 的 Producer 发送消息采用的是异步发送的方式。在消息发送的过程中,涉及到了两个线程——main 线程和Sender 线程,以及一个线程共享变量——RecordAccumulator。main 线程将消息发送给 RecordAccumulator,Sender 线程不断从 Record...原创 2020-04-07 23:46:58 · 162 阅读 · 0 评论 -
kafka笔记四 事务 高效读写
kafka事务Kafka 从 0.11 版本开始引入了事务支持。事务可以保证 Kafka 在 Exactly Once 语义的基础上,生产和消费可以跨分区和会话,要么全部成功,要么全部失败。Producer 事务为了实现跨分区跨会话的事务,需要引入一个全局唯一的 Transaction ID(客户端给定的),并将 Producer获得的PID 和Transaction ID 绑定。这样当Pr...原创 2020-04-07 22:52:51 · 243 阅读 · 0 评论 -
kafka笔记三 工作流程 生产者 消费者
文章目录kafka工作流程kafka文件存储机制kafka生产者分区策略分区的原则ISR数据可靠性ack的参数设置故障处理 (一致性问题)幂等性消费者消费方式分区分配策略offset的维护kafka工作流程kafka中的数据只能保证分区内有序,不能保证全局有序topic是逻辑上的概念,而partition是物理上的概念,可以在本地看见真实的目录kafka文件存储机制由于生产者生产的消息会...原创 2020-04-06 20:09:54 · 356 阅读 · 0 评论 -
kafka笔记二操作
kafka常用命令操作:提示:首先需要启动kafka服务,启动kafka服务之前要启动zk查看当前服务器中所有的topic./kafka-topics.sh --list --zookeeper 192.168.56.20:2181创建topic./kafka-topics.sh --create --zookeeper 192.168.56.20:2181 --topic first...原创 2020-04-05 15:17:24 · 231 阅读 · 0 评论 -
kafka笔记一基础
定义Kafka 是一个分布式的基于发布/订阅模式的消息队列(Message Queue),主要应用于大数据实时处理领域。kafka作用:1.解耦允许独立的扩展或修改两边的处理过程,只要确保它们遵守同样的接口约束。2.可恢复性系统的一部分组件失效时,不会影响到整个系统。消息队列降低了进程间的耦合度,所以即使一个处理消息的进程挂掉,加入队列中的消息仍然可以在系统恢复后被处理。3.缓冲有...原创 2020-04-05 15:05:29 · 147 阅读 · 0 评论 -
flume笔记二事务拓扑结构
flume事务flume传输流程注释:source收集数据有很多来源 也可以自己写代码监控实时 jdbc数据源拦截器链作用:可以实现解耦 复用 灵活性高一个source可以绑定多个channel ,所以一个事件具体给哪一个channel 就交给channel选择器副本选择器 Rep 发给所有channel多路选择器 Mul 需要指定绑定策略#Replicating Channel...原创 2020-04-05 03:28:33 · 167 阅读 · 0 评论 -
Flume笔记一基础
FlumeFlume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统, Flume支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力。架构运行机制:Flume 的核心是把数据从数据源(source)收集过来,在将收集到的数据送到指定的目的地(sink)。为了保证输送的过程一定...原创 2020-04-04 01:01:54 · 233 阅读 · 0 评论 -
HBASE CAP理论 架构 搭建 sqoop
CAP理论CAP:一个分布式系统不能同时满足一致性,可用性,和分区容错性C一致性:任何一个读操作总是能读取到之前完成的写操作结果,也就是在分布式环境中,多点的数据是一致的A可用性:每个操作总是能在确定的时间内返回,也不是系统随时都能正常运行P分区容错性:在出现断网情况下,分离的系统也能正常运行BASE(ACID)关系型数据库:一致,隔离,原子,持久BASE是反关系型数据库:牺牲高一致...原创 2019-12-23 23:16:22 · 294 阅读 · 0 评论 -
HIVE自定义函数的实现
HIVE中的函数分类UDF(一进一出)UDAF (多进一出)(count/max/min)聚合函数UDTF(一进多出)视图自定义函数写法创建一个Maven工程后导入依赖<dependency> <groupId>org.apache.hive</groupId> <artifactId>hive-exec</...原创 2019-12-17 23:09:13 · 443 阅读 · 0 评论 -
Zepplin安装
Apache Zeppelin提供了web版的类似ipython的notebook,用于做数据分析和可视化。背后可以接入不同的数据处理引擎,包括spark, hive, tajo等,原生支持scala, java, shell, markdown等。它的整体展现和使用形式和Databricks Cloud是一样的,就是来自于当时的demo。Zepplin安装1.解压tar -zxvf2.配...原创 2019-12-17 22:12:18 · 341 阅读 · 0 评论 -
hive不能删库删表踩过的坑
问题描述:drop table、database 等命令在hive中执行删表删库操作时,没有反应。过很长时间提示报错解决办法:将hive中lib目录下的mysql-connector-java-5.1.0-binjar包更换。...原创 2019-12-16 20:10:34 · 445 阅读 · 0 评论 -
Hive 的数据类型 内外部表 分区分桶
Hive的数据类型对于Hive的String类型相当于数据库的varchar类型,该类型是一个可变的字符串Hive有三种复杂数据类型ARRAY、MAP 和 STRUCT。ARRAY和MAP与Java中的Array和Map类似,而STRUCT与C语言中的Struct类似,它封装了一个命名字段集合,复杂数据类型允许任意层次的嵌套。DDL部分创建数据库避免要创建的数据库已经存在错误,增加i...原创 2019-12-12 00:39:01 · 232 阅读 · 0 评论 -
Hive概念和配置安装
概念解决结构化的数据统计hive是基于hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张表,并提供sql查询功能Hive在大数据生态圈中位于数据计算层可以增删查不可改(可追加不可随机改) 因为基于hdfs本质:将HQL转换成MapReduce程序优缺点Hive架构Meta store:元数据包含用Hive创建的database、table等的元信息。元数据存...原创 2019-12-11 19:46:50 · 123 阅读 · 0 评论 -
hdfs读写文件流程
HDFS读文件HDFS写文件原创 2019-12-11 18:53:11 · 78 阅读 · 0 评论 -
MapReduce的详细运行阶段
①②③④map task读文件,通过TextInputFormat读文本切片,一次读一行,返回(key,value);⑤上一步获取的(key,value)键值对经过map方法逻辑处理成新的(key,value)键值对,通过context.write输出到OutputCollectior收集器shuffle阶段⑥OutputCollectior把手机的(key,value)键值对写入到环...原创 2019-12-11 18:41:46 · 477 阅读 · 0 评论 -
hadoop无法使用主机名:50070访问
找到C:\Windows\System32\drivers\etc\hosts这个文件添加虚拟机ip和hostname的映射由于权限问题不能修改可以先复制到另一个地方修改之后移动和替换到源目录然后就可以通过主机名访问了...原创 2019-12-08 00:10:44 · 1152 阅读 · 0 评论 -
namenode节点起不来java.io.IOException: There appears to be a gap in the edit log. We expected txid 1, bu
解决方法原因:namenode元数据被破坏,需要修复解决:恢复一下namenodehadoop namenode -recover起因:启动namenode时sbin/hadoop-daemon.sh start namenode没有反应并且jps没有显示namenode进程如图去根目录/logs”下查看最新“hadoop-root-namenode-主机名.log”日志文件...原创 2019-12-07 23:38:56 · 508 阅读 · 0 评论 -
Hadoop结构与完全分布式搭建
Hadoop组成HDFS结构yarn结构MapReduce搭建步骤一.Hadoop搭建需javaJKD首先准备三台安装javaJKD并且配置环境变量的虚拟机环境变量文件:etc/profile二.配置ssh免密登录目的是用shell登陆远程服务,但每个登陆都需要输入密码就非常麻烦,所有需要配置无密配置,需要在NameNode上生成私钥,把公钥发给DataNode在mas...原创 2019-12-06 15:56:44 · 164 阅读 · 0 评论