- 博客(119)
- 收藏
- 关注

原创 kafka创建主题、生产者、消费者
1、首先开启zookeeper和kafka的server2、创建主题: ./kafka-topics.sh --create --zookeeper hdp-1:2181,hdp-2:2181,hdp-3:2181 --replication-factor 1 --partitions 1 --topic first_kafkatopic主题可以随便起,创建的topi...
2019-10-14 19:29:18
2440
原创 MySQL现有普通表更新为分区表
此分区表采用range模式,p代表表中分区字段(rangecolumns(p)字段p只能为varchar类型,并且不可以采用函数对p进行处理,如果直接用range(p)则p字段必须为整数类型,并且可以采用函数,如range(substring(p,1,4)))lessthen中为分区值,rangecolumns(p)或者range(substring(p,1,4))等于某一值,就会被分配到对应分区。p1,p2是分区名称,名称可以随便改。...
2022-07-28 09:42:59
1113
原创 删除hdfs过期文件脚本
#!/bin/bashsource ~/.bashrc# HADOOP所在的bin目录HADOOP_BIN_PATH=/home/hadoop/hadoop-2.3.0-cdh5.0.0/bin#待检测的HDFS目录data1_file=/user/gas/data1data2_file=/user/gas/data2#将待检测的目录(可以为多个)加载至数组中array_check=($data1_file $data2_file)# 当前时间戳today_timestamp=$.
2021-09-13 16:55:58
438
原创 关于启动Hbase报错Caused by: java.net.ConnectException: 拒绝连接
2019-07-04 14:29:34,210 FATAL [centos103:16000.activeMasterManager] master.HMaster: Unhandled exception. Starting shutdown.java.net.ConnectException: Call From centos103/192.168.130.131 to centos103:8020 failed on connection exception: java.net.ConnectEx.
2021-04-28 11:16:40
1909
原创 hive启动报错:Exception in thread “main“ java.lang.NoSuchMethodError: com.google.common.base.Precondition
报错如下:Exception in thread "main" java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkArgument(ZLjava/lang/String;Ljava/lang/Object;)Vat org.apache.hadoop.conf.Configuration.set(Configuration.java:1380)...at org.apache.hadoop.util.Run
2021-03-12 23:57:29
1312
原创 mysql备份数据库脚本,保留三天
/bin/mysqldump -h ip地址 -P端口(默认3306) -uroot -p密码 数据库名 目录如:/bin/mysqldump -h 192.168.222.20 -P3306 -uroot -p123456 mysql /root/back备份数据库脚本#!/bin/bash### $1 mysqlhost### $2 mysql端口### $3 要备份的数据库用户名### $4 要备份的数据库用户名对应的密码### $5 备份的数据库名### $6 .
2020-11-10 18:10:22
519
原创 MySQL恢复主键id从1计数
1,删除原有主键:ALTER TABLE `table_name` DROP `id`;2,添加新主键字段:ALTER TABLE `table_name` ADD `id` int NOT NULL FIRST;3,设置新主键:ALTER TABLE `table_name` MODIFY COLUMN `id` int NOT NULL AUTO_INCREMENT,ADD PRIMARY KEY(id);...
2020-09-06 15:45:38
350
原创 Linux下安装vmware及A compatible version of gcc was not found
首先先下载linux版本的vmware安装包,将其上传到linux上我的下载文件名称为:VMware-Workstation-Full-14.1.2-8497320.x86_64.bundle,bundle类型文件一般情况下打不开,需要作如下操作才能打开,操作如下:chmod +x VMware-Workstation-Full-14.1.2-8497320.x86_64.bundle然后直接进行安装./VMware-Workstation-Full-14.1.2-8497320.x86
2020-08-05 09:59:56
2187
原创 Linux上安装VNC
一:确认VNC服务是否有安装rpm -qa|grep tigervnc发现显示已经安装过vnc,说明已经安装过vnc服务了如果显示没有安装,如下图:我们用yum安装命令来安装此法比较简单,直接使用yum命令即可:yum -y install tigervnc-server二:启动vnc服务使用vncserver命令启动VNC服务,命令格式为"vncserver :桌面号",其中"桌面号"用"数字"的方式表示,每个用户连个需要占用1个桌面启动编号为1的桌面示例如下
2020-08-05 09:45:51
864
原创 hdfs数据读写流程
hdfs写数据流程1、客户端通过Distributed FileSystem模块向namenode请求上传文件到/user/atguigu/ss.avi这个路径文件2、校验文件是否存在,如果存在就会报目录存在这个错误,如果不存在则相应可以上传文件3、客户端请求第一个Block(0-128M)上传到那几个DataNode服务器上4、返回dn1,dn2,dn3节点,表示这三个节...
2020-04-10 19:13:48
1853
3
原创 case when then以及分组求TopN练习
准备数据,关于姓名学科成绩的表score.name score.subject score.score孙悟空 语文 87孙悟空 数学 95孙悟空 英语 68大海 语文 ...
2020-04-09 19:30:30
385
原创 hive为什么不推荐使用默认Derby数据库
在安装完成Hive之后默认是以Derby数据库作为元数据库,存储Hive有那些数据库,以及每个数据库中有哪些表,但是在实际生产过程中,并不是以derby作为Hive元数据库,都是以Mysql去替换derby。究其原因主要是基于两点原因:1.Derby数据库不支持并发,也就是只支持单线程操作,当有一个用户在对Hive进行操作时,其他用户则无法操作,导致整体效率性能较低。2.当在切换目录后...
2020-04-09 18:19:24
1249
原创 自定义UDTF函数创建(仿照split函数切分完进行炸裂)
我们都知道split切分完之后返回的是数组,我们再将数组进行遍历拿出。需求:说明自定义一个 UDTF 实现将一个任意分割符的字符串切割成独立的单词,例如:Line:"hello,world,hadoop,hive"Myudtf(line, ",")helloworldhadoophive代码:package com.fengrui.udtf;import org...
2020-04-06 22:38:31
771
1
原创 hive关于自定义函数以及创建自定义UDF函数
1、Hive 自带了一些函数,比如:max/min 等,但是数量有限,自己可以通过自定义 UDF 来方便的扩展。2、当 Hive 提供的内置函数无法满足你的业务处理需要时,此时就可以考虑使用用户自定义。3、根据用户自定义函数类别分为以下三种: 这里的一是代表一行数据 ①UDF(User-Defined-Function) 一进一出 ②UDAF(...
2020-04-06 17:56:37
296
原创 hive案例练习
我们有如下的用户访问数据 userId visitDate visitCount u01 2017/1/21 5 u02 2017/1/23 6 u03 2017/1/22 ...
2020-04-05 14:21:43
558
原创 hive中的rank函数用法
1.函数说明 RANK() 排序相同时会重复,总数不会变 DENSE_RANK() 排序相同时会重复,总数会减少 ROW_NUMBER() 会根据顺序计算 后面必须也跟over函数2.数据准备 name subject score 孙悟空 语文 8...
2020-04-05 13:24:08
3523
原创 hive的窗口函数
1.相关函数说明 over():指定分析函数工作的数据窗口大小,这个数据窗口大小可能会随着行的变化而变化;group by不可以用在over中,可以用distribut by 和 sort by 连用 CURRENT ROW:当前行; n PRECEDING:往前 n 行数据; n FOLLOWING:往后 n 行数据; UNBOUNDED:起点,UNBOUNDED PRECEDING...
2020-04-04 21:59:54
219
原创 hive列转行(lateral view explode)
1.函数说明 explode(col):将 hive 一列中复杂的 array 或者 map 结构拆分成多行。 lateral view 用法:lateral view udtf(expression) tableAlias AS columnAlias 解释:用于和 split, explode 等 UDTF 一起使用,它能够将一列数据拆成多行数据,在此基础上可以对拆分后的数据进行聚...
2020-04-04 17:12:06
651
原创 hive行转列
行转列相关函数说明concat(string A/col, string B/col…):返回输入字符串连接后的结果,支持任意个输入字符串; 将行数据进行拼接;示例:也可以对表的行数据拼接concat_ws(separator, str1, str2,...):它是一个特殊形式的 CONCAT()。第一个参数剩余参数间的分隔符。分隔符可以是与剩余参数一样的字符串...
2020-04-03 18:03:36
378
原创 hive分桶表的使用及分桶抽样查询
分桶表数据存储 分区针对的是数据的存储路径;分桶针对的是数据文件。分区提供一个隔离数据和优化查询的便利方式。不过,并非所有的数据集都可形成合理的分区,特别是之前所提到过的要确定合适的划分大小这个疑虑。 分桶是将数据集分解成更容易管理的若干部分的另一个技术。1.先创建分桶表,通过直接导入数据文件的方式准备数据001 s1002 s2003 s300...
2020-04-03 15:19:53
834
原创 hive排序(order by,sort by,distribute by,cluster by)
全局排序(Order By) Order By:全局排序,一个 Reducer 1.使用 ORDER BY 子句排序 ASC(ascend): 升序(默认) DESC(descend): 降序 2.ORDER BY 子句在 SELECT 语句的结尾3.不管设置多少reduce的数量,他只有一个reduce,结果只在一个文件中我们现在有paixu这张表设置redu...
2020-04-03 14:11:58
478
原创 hive关联表(join)
Hive 支持通常的 SQL JOIN 语句,但是只支持等值连接,不支持非等值连接。在hive中,关联有4种方式:内关联:join on 左外关联:left join on 右外关联:right join on 全外关联:full join on另外还有一种可实现hive笛卡儿积的效果(hive不支持笛卡儿积): 在on后面接为true的表达式,如on 1=1(需先设置非严格模式:...
2020-04-02 16:20:34
6028
原创 hive内部表与外部表的相互转化
查询表的类型 hive (default)> desc formatted student2; Table Type: MANAGED_TABLE 修改内部表 student2 为外部表 alter table student2 set tblproperties('EXTERNAL'='TRUE'); 查询表的类型 hive (default...
2020-04-01 16:08:30
4559
原创 hive的架构
hive可以看作是hdfs的一个客户端。首先去数据库找元数据(Meta store)信息,然后再去hdfs中映射文件数据。我们的hql先是经过解析器,判断我们写的sql格式是否正确;然后进行编译,编译成mr模板;通过优化器和执行器之后进行提交转化为mr作业,与hdfs进行交互。...
2020-04-01 13:40:31
173
转载 利用Python Faker库制造测试数据
在软件需求、开发、测试过程中,有时候需要使用一些测试数据,针对这种情况,我们一般要么使用已有的系统数据,要么需要手动制造一些数据。 由于现在的业务系统数据多种多样,千变万化。在手动制造数据的过程中,可能需要花费大量精力和工作量,此项工作既繁复又容易出错,而且,部分数据的手造工作无法保障:比如UUID类数据、MD5、SHA加密类数据等。现在好了,有一个Python包能够协...
2020-03-18 15:20:18
1281
原创 Spark资源调度与任务调度
当启动完spark-submit之后:进入资源调度①首先worker会向Master汇报资源②Master掌握了集群资源③创建SparkContext,Driver端启动,生成DAGScheduler和TaskScheduler④TaskScheduler向Master申请资源⑤Master收到请求之后,会找到满足资源的worker节点启动Executor⑥Ex...
2020-03-12 15:26:20
247
原创 spark任务调度流程
job中的RDD会形成有向无环图(DAG),然后这个DAG会提交给DAGScheduler对象(DAGScheduler是调度任务中的高层调度器,他是在创建sparkcontext也就是启动Driver的时候被创建出来的),它会将job中的RDD依赖关系,根据宽依赖划分成一个个的stage。然后这些被划分好的stage按照taskset的形式发送到TaskScheduler中(Task...
2020-03-12 14:31:08
353
原创 Spark两种核心Shuffle(HashShuffle与sortShuffle)
SparkShuffle:SparkShuffle概念reduceByKey会将上一个RDD中的每一个key对应的所有value聚合成一个value,然后生成一个新的RDD,元素类型是<key,value>对的形式,这样每一个key对应一个聚合起来的value。问题:聚合之前,每一个key对应的value不一定都是在一个partition中,也不太可能在同一个节点上,因为R...
2020-03-10 17:07:54
2673
原创 spark中广播变量和累加器
广播变量:package com.fengrui.testimport org.apache.spark.broadcast.Broadcastimport org.apache.spark.rdd.RDDimport org.apache.spark.{SparkConf, SparkContext}/** * 广播变量 */object BroadCast...
2020-03-09 16:58:17
245
原创 sparkstreaming窗口函数reduceByKeyAndWindow
首先是窗口操作普通机制package com.fengrui.testimport org.apache.spark.streaming.dstream.{DStream, ReceiverInputDStream}import org.apache.spark.streaming.{Durations, StreamingContext}import org.apach...
2020-03-09 13:54:47
792
原创 SparkStreaming中updateStateByKey记录统计单词数量
updateStateByKey是通过key来更新状态,下面是wordcount事例package com.fengrui.testimport org.apache.spark.streaming.dstream.{DStream, ReceiverInputDStream}import org.apache.spark.streaming.{Durations, Streaming...
2020-03-08 17:24:07
238
原创 将hdfs数据导入到hbase中的官方案例
首先我们在本地创建一个文件数据,数据中间是Tab分隔符[root@hdp-4 ~]# vi mrhbase.tsv 1001 Apple Red1002 Pear Yellow1003 Pineapple Yellow将数据put到hdfs上[root@hdp-4 ~]# hadoop fs -put /root/mrhbase.tsv...
2020-03-07 12:13:32
2128
原创 Hbase通过官方案例利用MapReduce读取表中有多少行数据
首先我们要用hadoop去操作Hbase,就得需要Hbase中的依赖包,我们需要将Hbase中lib下的包全部加载到hadoop的hadoop-env.sh中我们需要将export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:/root/apps/hbase-1.2.1/lib/*这句话放到for循环之后就可以,其中只需要修改hbase的路径即可,然后重启hado...
2020-03-06 20:51:38
649
1
原创 javaAPI对Hbase中的数据进行删除(DML)
众所周知,我们可以通过表——>rowkey——>列族——>列名——>时间戳去定位一个数据,下面是用API对数据的删除当我们想去删除整个一行数据时(rowkey相同的全部删除)public class HbaseDMLTest { private static Connection connection = null; private static...
2020-03-06 19:54:00
2711
2
原创 Python爬虫Demo之包头新闻网资料处理
找到包头新闻网的地址,右键找到检查打开,就开始接下来的操作了思路:先找到每条新闻的url,写一个方法,当每次传入这个url的时候,我们抓取标题、文章内容、发布时间以及作者,保存到字典 中,并且返回这个字典。然后将每条消息的数据(字典内容)放到列表中,最后利用pandas中的dataframe清洗成我们想要 的数据写出到Excel中,这样的数据直接...
2020-03-04 17:59:32
332
2
原创 AttributeError: module 'numpy' has no attribute 'array'
# 用numpy套件会使数组的运算变得很方便import numpy as npa = np.array([1,2,3])b = np.array([5,6,8])print(a * b)写完发现报如下错误Traceback (most recent call last): File "F:/PythonWork/PythonStu/pandas/numpy.py", li...
2020-03-01 21:38:57
12173
6
原创 pycharm中pandas读取的CSV数据太多导致省略号以及打印不换行
import pprint# 普通读取file_name = 'F:\\Data\\Population.csv'with open(file_name,'r',encoding='UTF-8') as f: for res in f.readlines(): pprint.pprint(res)# 用pandas.read_csv()读取import pa...
2020-02-28 22:47:13
3529
原创 python的wordcount程序
# 计算给定文章的单词出现个数wordcountstr_word = ''' Once a circle missed a wedge The circle wanted to be whole so it went around looking for its missing piece But because it was incomplete and theref...
2020-02-24 21:49:12
757
原创 Python中函数作为参数的高阶函数demo
# 高阶函数# 接收函数作为参数,或者将函数作为返回值的函数是高阶函数# 创建一个列表l = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]# 定义一个高阶函数def f(func, l): ''' 将指定列表中的所有数,按规则,保存到一个新的列表中 :param l: :return: ''' ls = [] ...
2020-02-23 21:25:32
329
原创 python通过引入time模块测程序运行时间
# 引入一个time模块,来统计程序执行时间from time import *# time()函数可以获取当前时间,返回单位是秒begin = time() # 设置开始运行时间i = 0count = 0while i < 34615491 : if i % 2 != 0 : count += i i += 1print("范围内所...
2020-02-20 22:32:53
977
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人