- 博客(13)
- 收藏
- 关注
原创 HIVE自定义函数
1 创建maven项目 添加依赖2 写类 集成 UDF3 重写 方法 evaluate4 打包5 上传到linux目录下6 在hive的客户端中 add jar /data/demo.jar7 生成方法 create function function_name as “全类名”8 function_name-----------------------------------使用反射实现自定义函数功能reflect函数参数一 任意的全类名参数二 调用的方法名参数…
2021-01-01 19:58:10 178
原创 java-网络服务实现
java-网络服务概念:一个业务功能 变成可以通过网络跨机请求举例:机器1有一个传2个整数返回两数之和的功能 机器2可以通过网络请求机器1 获取该功能 ,机器1通过网络返回值给机器2应用场景:机器1封装的功能代码为科技公司核心技术 不可对外提供源代码. 其他机器通过网络请求调用该功能 获取想要的结果 但是不知道原始程序如何实现开发流程:1:编程启动程序 1.1:创建网络连接 severSocket 设置端口号 (端口注解:主机向操作系统申请的一个身份标识
2020-11-26 20:40:52 315
原创 spark 中groupBy和groupByKey区别
groupBy和groupByKey区别1:groupBy更灵活2:groupByKey更高效 减少了网络传输3:groupByKey只能接收对偶型集合4:groupBy底层实际上是重新把数据整理成KV形式 再调用groupByKey4.1:先调用map 转换成key,value(值为整个元素)4.2:再调用groupBykey...
2020-11-25 19:59:32 2449
原创 spark RDD textFile算子 分区数量详解
进入textFile原码发现 分区数量调用 hadoopFile中的TextInputFormat类,传入参数Key为LongWritable即偏移量,value为Text,由此得知是通过这个类来读取继续进入TextInputFormat类中发现有个是否可以切分的判断,可以知道 一些不可拆分的文件由此过滤掉,可以切片拆分的文件继续往下寻找却没有相关处理逻辑 ,所以我们向上去到父类FileInputFormat中找到如上逻辑,调用了listStatu与namenode交互获取文件属性,把要读取的文件
2020-11-24 23:50:14 881
原创 flume常见问题总结
1. flume是什么? 数据采集工具 可以收集日志 行为 事件等数据信息 并且将这些信息从各个数据源集中起来存储的工具 2.flume怎么工作的? 核心概念 agent agent分为三个组件 source channel sink source 负责读取采集 sink负责写入存储 channel负责解耦合的传输通道 source 对接数据源 内置各种实现类将数据封装成event 传递给channel通道 sink从ch...
2020-11-24 22:55:28 964
原创 meven项目 报错java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkArgument
java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkArgument此错误为jar包依赖冲突 需要删除重复的依赖解决方案:步骤1:定位报错的类所在的jar包位置IDEA快捷搜索 ctrl+c 双击shift找到之后确定要删除的版本定位到具体类的jar包位置然后在pom文件中添加移除操作...
2020-11-24 22:50:50 1303
转载 Linux- Centos7 安装mysql详细步骤与问题解决
0 yum list1 yum -y install wget2 wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm3 yum -y install mysql57-community-release-el7-10.noarch.rpm4 yum -y install mysql-community-server(如执行出现报错“No package mysql-server availabl
2020-09-18 17:04:56 424 1
原创 java中逻辑运算中 非布尔值运算的结果分析
如下图所示定义两个整数型变量a和b(为了验证方便我们采用最小单位的byte型).打印输出 a&b返回结果为3.这里实际上是系统把两个整型变量转换到二进制然后逐位做与的逻辑运算所得结果.3和7的 二进制分别为3—> 0000 00117—> 0000 0111逐位做&运算 0000 0011在转换为10进制就是3晋级型示例:-3的二进制为 1000 0011 原码1111 1100 反码1111 1101 补码7的二进制为
2020-07-26 14:32:32 576
原创 浮点变量接收整数运算结果分析
如下图我们定义一个浮点变量便于接收a/b的带小数结果.而,结果显示为4.0,截掉了所有小数以后的部分.解析: 因为ab为int型变量 运算之后所得数值也为int型数值,所以自动截掉小数位.然而接收结果的变量f为double型,存储位数以及所占空间字节数都相对int要高,所以没有报出数据类型不匹配的错误,而是运算结果的int类型自动升级为double型,进行了结果输出,从而得到4.0的结果.下面来分析一下解决方案:方法一:用float强制转换a/b的结果,显然,结果还是一样没有显示我们想要的值.这是
2020-07-25 11:28:18 312
原创 关于JAVA中强制转换巧遇数据溢出执行结果解析
如下图程序所示C的结果为a+b也就是256+55=311而byte的最大取值范围为127,显然超出范围,但是我们使用强制转换,程序没有报错.而返回结算结果为55,下面我们重点解析一下55结果的缘由.根据数据存取方式,311为正整数,正反补码三码合一,我们把311转换成二进制结果为0000 0001 0011 0111int型为4字节的存取方式.而转换成byte型为2字节的存储方式,即只取后面八位而前八位被截断.故311的二进制表示就被强制变为0011 0111.简单计算一下即为10进制的55.
2020-07-25 09:41:05 317
原创 Byte int char 等 数据类型转换错误解析
如下图所示程序打印变量 d的值 为变量a b之和我们知道byte最大正值为127,而程序所展现的d的值按常理来计算为23远远小于127.所以不存在数据溢出,让我们看第二张图. 下图所示保报错信息为不兼容的类型,具体解释是从int型转换到byte,可能会有损失.在这里着重要说明一下 可能.说明系统也不确定会不会有损失,索性就很草率的报了错,这就解释了我们明明不超过127,也会报错的原因.然而我们定义了一堆byte型变量,为什么会报出int型错误,这里要说明一下java的机制,所有定义的整形系统默认都是
2020-07-24 22:07:03 643
原创 java基础常识0001
day02今日总结重点:常用关键字与常用非关键字1.关键字:1.1概念 被java语言赋予了特殊含义的单词 class public static void *举例:class被赋予类的含义 后面跟类名public为权限修饰符static普通修饰符 被修饰的变量等随类的加载而加载void 返回值类型注意:main(不是关键字 ,但是他被java赋予了特定的含义代表主函数)*1.2特点: 关键字的组成全部都是小写 如果你写了大写 那么就会出现错误
2020-07-24 21:39:54 147
原创 java +大数据 环境变量JDK dos命令
1:大数据前瞻**先驱们基于无数伪需求把大数据扛到了新基建,从精准广 告投放到智慧城市,国内5G的即将普及与第四次工业革命,大数据终于站到风口.2:DOS命令行操作 打开DOS命令窗口:windows + R 在输入框中输入cmd 就可以打开命令行窗口盘符切换: 盘符 + : 按enter键列出当前文件夹中所有的文件或者文件夹: dir创建文件夹:md(make directory) 只能创建文件夹删除文件夹:rd(remove directory)进入文件夹:c
2020-07-23 19:57:05 281
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人