- 博客(19)
- 收藏
- 关注
原创 Shiro的使用
shiro使用依赖<dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.9</version> </dependency> <dependency> <groupId>commons-loggin
2022-03-03 20:49:48
158
转载 Hive 数据类型(重点)
Hive 数据类型基本数据类型对于Hive 的 String 类型相当于数据库的 varchar 类型,该类型是一个可变的字符串,不过它不能声明其中最多能存储多少个字符,理论上它可以存储 2GB 的字符数。集合数据类型[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-modKvmZa-1620303988786)(…/…/%E8%AF%BE%E7%A8%8B/%E5%A4%A7%E6%95%B0%E6%8D%AE/%E8%B5%84%E6%BA%90/Typora/%E
2021-05-06 20:45:26
118
转载 Hive常用交互命令
Hive常用交互命令帮助命令[dev1@hadoop102 ~]$ cd /opt/module/hive[dev1@hadoop102 hive]$ bin/hive -help"-e"不进入hive的交互窗口执行sql语句[dev1@hadoop102 hive]$ bin/hive -e "select id from default.student;""-f"执行脚本中sql语句(1)在/opt/module/data目录下创建hivef.sql文件[dev1
2021-05-06 20:09:03
127
原创 Hive的JDBC访问
beeline概述beeline 英[ˈbiːlaɪn] 美[ˈbiːlaɪn] n. (两地之间的)直线; 直路;Beeline是Hive新的命令行客户端工具,是基于SQLLine CLI的JDBC客户端。Hive客户端工具后续将使用Beeline 替代HiveCLI一般开发中不使用的原因:慢案例:查询数据库启动hadoop集群[dev1@hadoop102 ~]$ start-dfs.sh[dev1@hadoop103 ~]$ start-yarn.sh[dev1@
2021-05-06 19:50:17
102
原创 文件读取错误
出错代码f = open('西游记.txt').read()但是在执行的时候会报错:UnicodeDecodeError: ‘gbk’ codec can’t decode byte 0x80 in position 2: illegal multibyte sequence问题可能是读取的文本的编码格式不对,或者有特殊的非法字符解决方法编码转换f = open('西游记.txt' ,encoding='utf-8').read()添加属性忽略非法字符内容f = open
2021-05-06 08:54:01
328
原创 vscode控制台不能输入的问题解决
1. 打开设置2. 搜索runinterminal,并在Run In Terminal该选项打钩3.重启
2021-04-28 09:21:52
2519
1
原创 for循环和函数
字符串的循环遍历str="hello world"for s in str: print("当前输出字符为%s"%(s))print()range函数的调用i=1list=['xzy','zxq','lwq']for name in list: print('%d、%s'%(i,name)) i=1+iprint()for index in range(0,len(list)): print("%d、%s"%(index+1,list[index]))
2021-04-23 21:27:41
223
1
转载 数据清洗
数据清洗什么是ETLETL,是英文Extract-Transform-Load的缩写,用来描述将数据从来源端经过抽取(extract)、转换(transform)、加载(load)至目的端的过程ETL是将业务系统的数据经过抽取、清洗转换之后加载到数据仓库的过程,目的是将企业中的分散、零乱、标准不统一的数据整合到一起,为企业的决策提供分析依据在运行核心业务MapReduce程序之前,往往要先对数据进行清洗,清理掉不符合用户要求的数据。清理的过程往往只需要运行Mapper程序,不需要运行Reduce程
2021-04-14 11:23:30
88
原创 Shuffle之2排序
思维导图hadoop排序特点实例:输入编写类结果排序概述Hadoop排序的特点Map Task和Reduce Task均会对数据(按照key)进行排序。默认排序是按照字典顺序,且实现该排序的方法是快速排序什么时候对数据进行排序?对于Map Task,它会将处理的结果暂时放到一个缓冲区中,当缓冲区使用率达到一定阈值后,再对缓冲区中的数据进行一次排序,并将这些有序数据写到磁盘上,而当数据处理完毕后,它会对磁盘上所有文件进行一次合并,以将这些文件合并成一个大的有序文件。
2021-04-12 09:20:47
71
原创 Shuffle之1分区Partition
思维导图shuffle:定义patition:定义实例操作自定义partition类在Driver中添加调用自定义partition的代码和设置reduceTask的数量shuffle在MR中,Map方法之后,Reduce方法之前的数据处理过程称之为Shufflepatition要求将统计结果按照条件输出到不同文件中(分区)。reduceTask的数量如果reduceTask的数量> getPartition的结果数,则会多产生几个空的输出文件part-r-000xx;
2021-04-12 09:18:15
207
原创 MapReduce框架原理submit方法
debug的三步打断点进入debug模式进入下个断点要打断点的重要函数waitForCompletion() submit(); //1建立连接 connect(); // 1)创建提交Job的代理 new Cluster(getConfiguration()); // (1)判断是本地yarn还是远程 initialize(jobTrackAd
2021-04-12 09:02:02
80
原创 MapReduce框架原理面试题切片
思维导图数据切片的定义(逻辑上的,而不是磁盘或物理上的)与数据块(物理上的)的定义并行度—>好处—>是否越多越好–>切片数决定MapTask数据切片与数据块的区别数据切片是逻辑上的切分,不是磁盘上的(物理的)数据块是物理上的切分并行度定义:在计算机体系结构中,并行度是指指令或数据并行执行的最大数目。在指令流水中,同时执行多条指令称为指令并行好处:可以提高计算机的资源利用率是不是并行度越多越好?MapTask并行度决定机制:1)一个job的map阶
2021-04-12 08:58:53
88
原创 Shuffle之3 合并
Combine定义combiner是MR程序中Mapper和Reducer之外的一种组件combiner组件的父类就是Reducer作用瓶颈1:减轻网络压力瓶颈2:减少单一的Reducer的压力如果在同一个文档内 "cat"出现了3次,(“cat”,1)键值对会被生成3次,这些键值对会被送到Reducer那里。通过使用Combiner,这些键值对可以被压缩 为一个送往Reducer的键值对(“cat”,3)。现在每一个节点针对每一个词只会发送一个值到reducer,大大减少了shuffle过
2021-04-12 08:56:20
154
原创 NLineInputFormat案例分析与实现
NLineInputFormat案例分析与实现理解NLineInputFormat用于读hdfs中的文本文件,每次入读固定行数键是文件中行的字节偏移量,值是行本身。N 是每个 Mapper 收到的输入行数这里的键和值与TextInputFormat生成的一样编写Mapper类package com.dev1.nline;import org.apache.hadoop.io.LongWritable;import org.apache.hadoop.io.Text;import org
2021-04-09 23:10:41
70
原创 KeyValueTextInputFormat案例分析与实现
理解KeyValueTextInputFormat处理每一行均为一条记录, 被分隔符(缺省是tab(\t))分割为key(Text),value(Text)例子:输入是一个包含4条记录的分片。其中——>表示一个(水平方向的)制表符。line1 ——>Rich learning formline2 ——>Intelligent learning engineline3 ——>Learning more convenientline4 ——>From the real
2021-04-09 23:08:23
89
原创 可变变量和不可变变量
可变变量和不可变变量不可变变量类型:int、float、string、tuple、None先看下面的例子x=1print(id(x))//id()是Python的内置函数,可以返回对象的内存地址x+=1print(id(x))140707581400736140707581400768 可以看到因为x值的变化而导致x的内存地址也发生了变化x=1y=1z=1print(id(x))print(id(y))print(id(z))140707581400736
2021-04-09 19:54:27
1240
原创 markdown的使用
1)标题一个#是一级标题,二个#是二级标题,以此类推。支持六级标题。# 这是一级标题## 这是二级标题### 这是三级标题#### 这是四级标题##### 这是五级标题###### 这是六级标题2)图片3)列表无序列表+ * - 跟内容要有一个空格有序列表数字加. 加空格就OK4)代码块单行代码块` 内容 `system.out.println('hello');多行代码块```内容```shide sdfasdffad
2021-04-08 10:27:49
54
原创 markdown的pandoc应用
markdown的pandoc应用安装pandoc选择适合自己系统的安装包,并自行安装pandoc下载链接配置环境变量把安装好的pandoc路径配置到系统环境变量path中检测是否安装成功打开cmd,输入pandoc --help,查看是否出现帮助项使用Typora导出可能存在安装完成后导出仍提示要安装pandoc,可重新启动Topara即可...
2021-04-07 21:21:03
308
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人