自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

shyming's blog

shyming's blog

  • 博客(127)
  • 资源 (6)
  • 收藏
  • 关注

转载 hive-hbase-handler版本兼容问题

(Hive)org.apache.hadoop.hbase.client.Put.setDurability(Lorg/apache/hadoophbase/client/Durability;)V

2023-04-25 10:31:09 329

原创 Sqoop导出shell脚本

基于sqoop的对hive进行导出mysql的shell脚本

2022-06-21 16:28:07 575

原创 Sqoop接入shell脚本

基于sqoop接入mysql到hive的shell脚本

2022-06-21 16:23:34 719

原创 神奇的识别图片文字代码

带你走进神奇的识图世界神奇的识别图片文字代码解决步骤使用tesseract-ocr漂亮的识别图片代码神奇的识别图片文字代码你好! 这可能是你第一次使看到ShyMing 的csdn博客。如果你想持续看到我的新品, 可以关注我,获取最新博客信息。可以仔细阅读这篇文章,了解一下tessdata工具包的使用。解决步骤使用tesseract-ocr步骤操作详情第一步下载testdata训练文件testdata下载地址第二步解压tessdata放置在tessdata目录

2022-04-08 09:44:11 1789

原创 hive关联码表进行补全cid(UDF)

连接hive的工具类package com.bfd.util;import java.sql.*;/** * author:liming * date:2022-01-12 * tittle:连接hive的jdbcDao */public class HiveDao { // 此Class 位于 hive-jdbc的jar包下 private static String driverName ="org.apache.hive.jdbc.HiveDriver";

2022-02-10 15:15:52 1052

原创 爬取网页源码之scala篇

为了获取网页代码,一般人是想到直接ctrl+s,就可以保存了。确实比较方便,但是如果遇到子网页比较多就不行了。为了方便批量获取网页代码,一个会java或者scala的程序员就不一样了。比如:上代码:import java.io.{File, PrintWriter}import scalaj.http.Http/** * author:liming * time:2022-01-01 * tittle:爬取网页源码 * * 需要配置依赖 * <dependency&g

2022-01-01 23:11:25 502

原创 数据治理之时间处理(一)

在数据治理过程中遇到各种奇奇怪怪的时间格式比如一个字段中出现下面这两种格式时间格式一:17-4月 -19 12.00.00.000000000 上午格式二:yyyy-M-d、yyyy-MM-dd可以使用如下代码治理成yyyy-MM-dd格式的数据case when [字段名] rlike '^.*月.*午.*$' then date_format(concat(concat('20',split(split([字段名],'-')[2],' ')[0]),'-',trim(replace

2021-12-23 17:37:42 474

原创 数据开发之补数脚本

#!/bin/bash#作者:shyming#创建时间:2021-11-08#n为天数,执行前n天的数据统计n=10today=`date +%Y-%m-%d`sql="select '建表';"hive -e "${sql}"#定义方法,便于传参循环跑数function update_exec(){hql="select '处理';"hive -e "${hql}"if [ $? -eq 0 ];then echo "数据 $ETL_DATE 更新

2021-11-08 18:12:32 359

原创 在scala项目中的java代码无法编译问题

在pom.xml中加入下面配置,就可解决java代码的编译问题<plugin> <groupId>net.alchim31.maven</groupId> <artifactId>scala-maven-plugin</artifactId> <version>3.4.6</version> &l

2021-07-20 16:28:05 603 2

原创 SparkSql之UDF编写

数据{"name":"uzi","age":20}{"name":"gala","age":22}{"name":"theshy","age":21}代码package com.bfd.sqlimport org.apache.spark.SparkConfimport org.apache.spark.sql.{Row, SparkSession}import org.apache.spark.sql.expressions.{MutableAggregationBuffer, Use

2021-02-01 15:10:44 416 3

原创 SparkSql之UDAF编写

数据{"name":"123","age":20}{"name":"456","age":30}{"name":"789","age":40}代码package com.bfd.sqlimport org.apache.spark.SparkConfimport org.apache.spark.sql.{Row, SparkSession}import org.apache.spark.sql.expressions.{MutableAggregationBuffer, UserDef

2021-02-01 15:01:12 316

原创 sparkSql之RDD、DataFrame、DataSet转化(一)

RDD转化DataFrameDataFrame转化DataSetDataSet转化RDD打印RDDpackage com.bfd.sqlimport org.apache.spark.SparkConfimport org.apache.spark.sql.SparkSessionobject SparkSQL03_transform { def main(args: Array[String]): Unit = { //sparkSQL //sparkConf

2021-02-01 14:56:00 165

原创 SparkSql简单使用

SparkSql简单使用1. 进入spark-shell2. 使用2.1 获取文件2.2 展示文件内容2.3 创建表2.4 sql查询搭建好spark-yarn模式1. 进入spark-shellcd sparkbin/spark-shell2. 使用文件内容{"name":"zhangsan","age":20}{"name":"lisi","age":22}2.1 获取文件val df=spark.read.json(“file:///home/briup/installP/2.

2021-01-29 10:57:59 953 2

原创 spark之yarn模式搭建

spark之yarn模式搭建1.安装2.配置2.1 conf的spark-env.sh2.2 修改环境变量3. 使用1.安装先到官网下载spark:https://mirrors.bfsu.edu.cn/apache/解压tar -zxvf spark-3.0.0-bin-hadoop2.7.tgz -C /opt/software2.配置2.1 conf的spark-env.shcd spark/confcp spark-env.sh.template spark-env.shvi

2021-01-29 10:50:16 499 2

原创 spark之独立部署(StandAlone)搭建

spark独立部署模式1.安装2.配置2.1 conf文件的slaves2.2 conf的spark-env.sh2.3 conf的spark-defaults.conf2.4 sbin的spark-config.sh2.5 添加SPARK_HOME和PATH3.启动/停止3.1 启动3.2 停止4.访问1.安装先到官网下载spark:https://mirrors.bfsu.edu.cn/apache/解压tar -zxvf spark-3.0.0-bin-hadoop2.7.tgz -C /o

2021-01-27 16:38:25 771

原创 怀念在学校写代码的日子

想念美美的学校这里有很多美好的小回忆很久没有写代码,今天想找一个漏做的word的名字,但是不好找。就想着写代码,发现代码不会了,代码还是要多练,一天不写,就废一天。不多说,上代码。首先在文件中读取中文你会想到什么?gbk?utf8?io?inputstream?fileinputstream?没错差不多了,上才艺。 //读取文件,并把每行内容放list里面,返回 public static List<String> read(String name){//传入文件的

2021-01-22 15:42:49 241 2

原创 入职sql练习

百分点sql练习1.准备数据2.练习题目2.1 查询表t_person_base_info中job为‘前端’或‘销售’的所有内容2.2 查询表t_person_base_info中gender为‘男’ 和 ‘女’各有多少人2.3 查询表t_person_base_info中job为‘销售’ 的不同性别各有多少人2.4 查询表t_person_base_info中年龄大于30岁的所有人2.5 查询表t_person_base_info中gender标记错误的人2.6 查询表t_shopping_records

2020-12-12 17:29:07 390

原创 经历九九八十一难后的面试总结

1.1 面试过程最关键的是什么?1)不是你说了什么,而是你怎么说2)大大方方的聊,放松1.2 面试时该怎么说?1)语言表达清楚(1)思维逻辑清晰,表达流畅(2)一二三层次表达2)所述内容不犯错(1)不说前东家或者自己的坏话(2)往自己擅长的方面说(3)实质,对考官来说,内容听过,就是自我肯定;没听过,那就是个学习的过程。1.3 面试技巧1.3.1 六个常见问题1)你的优点是什么?大胆的说出自己各个方面的优势和特长2)你的缺点是什么?不要谈自己真实问题;用“缺点”衬托自己的优点

2020-11-19 14:32:09 345 1

原创 大数据之滴滴一面

大数据之滴滴一面中午看了boss,随便一投,下午就来电话面试了。毫无准备,又惊又喜。不知道最后结果如何,继续加油吧!好好复习,好好准备。1.你了解过hadoop生态群的哪些主件2.MR的原理3.数据库三范式4.快排5.你对链表的了解6.数据倾斜怎么优化7谈你做的项目8.数仓为什么分层(我的项目是说的电商数仓)9.某一时间统计商品卖的最多的店铺10.现在的基本情况,可以实习多久?这周内可以到岗吗?11.反问我问了:如果入职要提前准备什么吗?我如果入职具体做什么事情?...

2020-10-27 19:09:59 2448 10

原创 大数据面试之hive和传统数据库之间的区别

1、写时模式和读时模式传统数据库是写时模式,在load过程中,提升了査询性能,因为预先解析之后可以对列建立索引,并压缩,但这样也会花费更多的加载时间。Hive是读时模式,1 oad data非常迅速,因为它不需要读取数据进行解析,仅仅进行文件的复制或者移动。读时模式VS写时模式在传统数据库里,表的模式是在数据加载时强制确定的。如果在加载时发现数据不符合模式,则被拒绝加载数据。因为数据是在写入数据库是对照模式进行检查,因此这一设计有时被称为“写时模式”(schema on write)。在另外一方面

2020-10-19 19:34:37 860 1

原创 大数据之数仓二面凉经

面前满怀希望的我,兴高采烈的,然后干啥都开心。买了一张通往杭州的火车票,自以为是往梦想的车票。为了赶火车,我早早的6点就起来了,天空还是一片阴暗,超市也没开门,卖早点的阿姨也没起来。我就这样饿着肚子坐了一个多小时的公交,一路颠簸终于到了火车站。我提前到了车站,买的是10.27的票,去改签了一下(8:25)。在超市买了一个桂花糕,吃吃等等。上车之后看着路边的风景,我仿佛掉进了一幅画里。满怀期待,向往大都市的念头不由自主的就出来了。脑海中出现了一个人一座城,人是奋斗的人,城市繁忙的城。突然,火车倾斜了,这是一

2020-10-17 08:23:34 670 1

原创 大数据之数仓一面内容以及感受

等我有空再来写吧1.项目2.hadoop搭建流程3.mr的流程4.数仓建模5.三范式6.数据集市和数仓7.校内经历8.反问环节

2020-10-13 12:19:19 283

原创 Hive调优之shyMing成神之路

Hive调优前言1.数据的压缩与存储格式2.合理利用分区分桶3.hive参数优化4.sql优化4.1 where条件优化4.2 union优化4.3 count distinct优化4.4 用in 来代替join4.5 优化子查询4.6 join 优化5.数据倾斜5.1 sql本身导致的倾斜5.2 业务数据本身的特性(存在热点key)5.3 开启数据倾斜时负载均衡5.4 控制空值分布6.合并小文件7.查看sql的执行计划前言毫不夸张的说,有没有掌握hive调优,是判断一个数据工程师是否合格的重要指标 。

2020-10-08 19:20:43 771

原创 你了解yarn的调度策略吗?快来看一看吧

yarn的三大调度策略FIFOFIFO Scheduler把应用按提交的顺序排成一个队列,这是一个先进先出队列,在进行资源分配的时候,先给队列中最头上的应用进行分配资源,待最头上的应用需求满足后再给下一个分配,以此类推。CapacityCapacity(容量)调度器,有一个专门的队列用来运行小任务,但是为小任务专门设置一个队列会预先占用一定的集群资源,这就导致大任务的执行时间会落后于使用FIFO调度器时的时间。Fair在Fair(公平)调度器中,我们不需要预先占用一定的系统资源,Fair调度器会

2020-10-07 17:03:40 459

原创 吊打面试官之flume架构与运行机制

flume架构与运行机制1.Flume的三层架构2.flume运行机制3.flume的事务1.Flume的三层架构Flume采用了三层架构,分别为agent,collector和storage,每一层均可以水平扩展。其中,所有agent和collector由master统一管理,这使得系统容易监控和维护,且master允许有多个(使用ZooKeeper进行管理和负载均衡),这就避免了单点故障问题。1)Agent层:这一层包含了Flume的Agent组件,与需要传输数据的数据源连接在一起2)Colle

2020-10-07 10:34:23 363

原创 全方位解读hive数仓建模

全方位解读星型模型,雪花模型及星座模型背景1.星型模型2.雪花模型3.星座模型4.对比5.总结背景在多维分析的商业智能解决方案中,根据事实表和维度表的关系,又可将常见的模型分为星型模型,雪花型模型及星座模型。在设计逻辑型数据的模型的时候,就应考虑数据是按照星型模型,雪花型模型还是星座模型进行组织。1.星型模型星形模型中有一张事实表,以及零个或多个维度表,事实表与维度表通过主键外键相关联,维度表之间没有关联,当所有维表都直接连接到“ 事实表”上时,整个图解就像星星一样,故将该模型称为星型模型。星形模型

2020-10-07 09:38:03 1021

原创 增量表及拉链表,你懂了吗?

数据准备第一天 9月10号数据1,待支付,2020-09-10 12:20:11,2020-09-10 12:20:112,待支付,2020-09-10 14:20:11,2020-09-10 14:20:113,待支付,2020-09-10 16:20:11,2020-09-10 16:20:11第一天 9月11号数据1,待支付,2020-09-10 12:20:11,2020-09-10 12:20:112,已支付,2020-09-10 14:20:11,2020-09-11 14:21

2020-10-06 20:18:50 647 1

原创 spark程序之jdbc操作

spark程序之jdbc操作需求:按照用户访问的ip地址找到对应的省份,并求所属区域的用户访问量思路:1.获取ip基础信息,并广播出去2.获取用户访问信息3.通过用户的ip地址找到对应的省份(二分查找)4.通过找到的省份来统计区域访问量5.将结果输出到mysqlimport java.sql.{Connection, Date, DriverManager, PreparedStatement}import org.apache.spark.broadcast.Broadcasti

2020-10-02 10:39:42 299

转载 吊打面试官之flume的事务理解

Flume事务概念Flume在处理数据的时候,涉及到数据流动的有两个地方。一个是Source向Channel中放数据的时候,涉及到一个数据的发送(put事务)。还一个是Sink从Channel中拉取数据,也涉及到一个数据的发送。当涉及到数据的批量操作时,就会通过事务来保证数据的一致性和完整性。我们都知道Flume是一个日志文件传输的工具,传输过程会经过三大步骤:1.通过source 把数据从数据源(网络端口,本地磁盘等)读出出来2.通过source把数据传入到channel里面3.再把数据从cha

2020-09-29 11:35:09 489 1

原创 吊打面试官之hbase的架构

hbase的架构hbase基于hadoop,hbase的存储依赖于hdfs。client、zookeeper、hmaster、hregionserver、hlog、hregion、store、mestore、storefile、hfileclienthbase的客户端,包含访问hbase的接口(shell、java、api)client维护一些cache加速对hbase的访问,如region的位置信息zookeeper监控master的状态,保证有且仅有一个active的master,达到高

2020-09-28 11:34:34 215

原创 kafka之数据可靠性保证

数据可靠性保证1)副本数据同步策略2)ISR3)ack 应答机制4)故障处理细节为保证 producer 发送的数据,能可靠的发送到指定的 topic,topic 的每个 partition 收到producer 发送的数据后,都需要向 producer 发送 ack(acknowledgement 确认收到),如果producer 收到 ack,就会进行下一轮的发送,否则重新发送数据。1)副本数据同步策略方案优点缺点半数以上完成同步,就发送ack延迟低选举新的 lead

2020-09-28 10:03:28 237

原创 kafka之分区策略

kafka分区策略1. Range strategyRange策略是对每个主题而言的,首先对同一个主题里面的分区按照序号进行排序,并对消费者按照字母顺序进行排序。在我们的例子里面,排完序的分区将会是0, 1, 2, 3, 4, 5, 6, 7, 8, 9;消费者线程排完序将会是C1-0, C2-0, C2-1。然后将partitions的个数除于消费者线程的总数来决定每个消费者线程消费几个分区。如果除不尽,那么前面几个消费者线程将会多消费一个分区。在我们的例子里面,我们有10个分区,3个消费者线程, 1

2020-09-27 16:36:15 199

原创 吊打面试官之zookeeper原理

zookeeper原理1.Zookeeper特性分析2.Zookeeper之分布式锁机制3.集群选举(1)全新选举(2)非全新选举4.ZooKeeper的工作原理5.Leader和follower的工作流程1.Leader工作流程2.Follower工作流程1.Zookeeper特性分析全局一致性、可靠性、顺序性、数据更新原子性、实时性1.全局一致性每一个server保存一份相同的数据副本,无论连接那个server,显示的数据都是一致的,这是最重要的特征。2.可靠性如果一台服务器接受,那么其他服

2020-09-27 14:57:38 389

原创 吊打面试官之mapreduce原理

mapreduce原理1.有一个待处理的大数据,被划分为大小相同的数据块(如64MB),及与此相应的用户作业程序2.系统中有一个负责调度的主节点(Master),以及数据Map和Reduce工作节点(Worker)3.用户作业程序提交给主节点4.主节点为作业程序寻找和配备可用的Map节点,并将程序传送5.主节点也为作业程序寻找和配备可用的Reduce节点,并将程序传送给Reduce节点6.主节点启动每个Map节点执行程序,每个map节点尽可能读取本地或本机架的数据进行计算7.每个Map节点

2020-09-26 15:26:18 326

原创 吊打面试官之yarn工作原理

yarn工作原理1.yarn架构2.功能3.工作流程4.工作机制1.yarn架构1.客户端提交应用程序给ResourceManager2.ResouceManager会生成ApplicationMaster,并在某一个节点服务器上运行ApplicationMaster3.ApplicationMaster向ResourceManger注册其信息,并且向ResourceManger发送申请资源报告,申请contaniner容器,以运行application下的任务(其实是每个container容器被

2020-09-26 10:46:48 379

原创 吊打面试官之hdfs原理

hdfs原理hdfs架构namenode元信息的持久化NameNode特点SecondaryNameNodehdfs读操作hdfs写操作hdfs文件删除hdfs架构namenode储存文件的元数据,如文件名,文件目录结构,文件属性(生成时间、副本数、文件权限), 以及每一个文件的块列表和块所在的datanode①fsimage:元数据镜像文件。存储某一时段NameNode内存元数据信息。②edits:操作日志文件。③fstime:保存最近一次checkpoint的时间datanode在文件

2020-09-25 17:17:48 380

原创 秋天的第一篇博客之想月薪过万的shyMing(大数据篇)

ShyMing教你一招,如何月薪过万1.首先你的有一台性能好的本本。像小编一台amd的本本4G内存跑一个虚拟机加ide都跑不动,之后加了固态,换了内存条勉强可以跑三个虚拟机+ide+1其他软件,但是有时很卡。卡到你奔溃,慢到你怀疑人生。一台好的本本,提升你的编程效率。等我撑过这几个月也要换电脑了。2.悟性很重要。有的知识点不是一时能接收到的,有时需要一时的顿悟,有时要通过一定后面的其他知识学习之后,方可领悟。悟性好,学习起来很快。3.解决问题的能力。遇到bug不要慌,先自己分析,检查代码和自己的环境,

2020-09-25 08:25:49 219

原创 项目经验之Kafka压力测试及机器数量计算

项目经验之Kafka压力测试1)Kafka压测用Kafka官方自带的脚本,对Kafka进行压测。Kafka压测时,可以查看到哪个地方出现了瓶颈(CPU,内存,网络IO)。一般都是网络IO达到瓶颈。kafka-consumer-perf-test.shkafka-producer-perf-test.sh2)Kafka Producer压力测试(1)在/opt/module/kafka/bin目录下面有这两个文件。我们来测试一下[atguigu@hadoop102 kafka]$ bin/kaf

2020-09-23 11:30:34 337

原创 吊打面试官之linux进阶命令

linux进阶命令命令作用top查看内存df -h查看磁盘存储情况iotop查看磁盘IO读写(yum install iotop安装)iotop -o直接查看比较高的磁盘读写程序netstat -tunlp l grep(由于竖杆打不出来,用l代替)端口号 查看端口占用情况uptime查看报告系统运行时长及平均负载ps aux查看进程...

2020-09-17 20:14:01 165

原创 大数据之技术选型及服务器选择

1.框架版本选型1)Apache:运维麻烦,组件间兼容性需要自己调研。(一般大厂使用,技术实力雄厚,有专业的运维人员)2)CDH:国内使用最多的版本,但CM不开源,但其实对中、小公司使用来说没有影响(建议使用)3)HDP:开源,可以进行二次开发,但是没有CDH稳定,国内使用较少5.2.3 服务器选型2.服务器使用物理机还是云主机?机器成本考虑: 物理机:以128G内存,20核物理CPU,40线程,8THDD和2TSSD硬盘,单台报价4W出头,需考虑托管服务器费用。一般物理机寿命5年左右

2020-09-17 20:03:07 1279

DataStream.html

掌握DataOutputStream和DataInputStream的作用。 可以使用DataOutputStream和DataInputStream写入和读取数据。 在IO包中提供了两个与平台无关的数据操作流 数据输出流:DataOutputStream 数据输入流:DataInputStream 通常按照一定格式将输入输出,再按照一定格式将数据输入。 要想使用数据输出流和输入流,则肯定要用户指定数据的保存格式。必须按指定的格式保存数据,才可以将数据输入流将数据读取进来。

2020-01-10

BufferedInputStream.html

java代码,使用字符流读取文件,让新手了解字符流,以及新手学习字符流。在学习过程中进步,用java中的BufferedOutputStream.

2020-01-10

BufferedOutputStream.html

java的BufferedOutputStream,开发过程中使用字符流,效率提高。字符流很好,初学者要分清字符流和字节流

2020-01-10

hadoop.html

小白第一天写博客,在hadoop集群写入文件,看完configuration和configured等的源码之后的心德

2019-12-08

ConfigHdfs.java

基于对Hadoop集群通过外部java代码写入文件的操作,对Configuration、FileSystem的认识

2019-12-08

configuraton.png

基于在hadoop集群的hdfs下写入代码(如下)对Configuration、FileSystem的认识

2019-12-08

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除