04 2019 档案

摘要:在SparkSQL中获取Row的值,而且Row的字段允许null时,在取值的时候取到null赋值给新的变量名会报NullPointerException错误, 可以先用row.isNullAt(index)去判断该字段的值是否为空 首先上错误 修改为先初始化变量,判断row.isNullAt(6) 阅读全文
posted @ 2019-04-21 01:15 RZ_Lee 阅读(1315) 评论(0) 推荐(0)
摘要:格式化分数,按照指定小数位四舍五入工具类 阅读全文
posted @ 2019-04-15 15:09 RZ_Lee 阅读(1437) 评论(0) 推荐(0)
摘要:SCD缓慢变化维,比如一个用户维表,用户属性会变化,但是不会变化很剧烈,可能一年只会变化一两次,也不会所有用户的属性都会有变化,只有少量的数据发生变化,所以叫缓慢变化维。这种问题就是由于维度的变化所造成的。 解决方式: 是否保留历史数据 保留多久历史数据 历史状态如何与事实表关联 SCD1 保留最新 阅读全文
posted @ 2019-04-12 12:49 RZ_Lee 阅读(1207) 评论(0) 推荐(0)
摘要:恶意用户可能会发送伪造的信息,骗取交换机或主机将不可靠的机器作为网关。攻击者的目标是成为中间人,让无判断的用户将其作为路由器,向其发送分组,这样攻击者可以在将发送给他的分组正常转发前,收集其中的信息。 1)DHCP探测 假定攻击者在客户PC所在的子网的一台机器上运行伪造的DHCP服务器。当客户广播其 阅读全文
posted @ 2019-04-06 02:46 RZ_Lee 阅读(688) 评论(0) 推荐(0)
摘要:先上Demo 返回查询结果正确 现象 修改查询的SQL,返回的数据量不对。 原因 在触发Action的时候,Task在每个分区上的业务逻辑是相同的(id >= ? and id < ?"),只是读取的数据和处理的数据不一样。RDD根据数据量和分区数据,均匀地分配每个分区Task读取数据的范围。 分区 阅读全文
posted @ 2019-04-06 02:36 RZ_Lee 阅读(371) 评论(0) 推荐(0)
摘要:考察spark自定义排序 方式一:自定义一个类继承Ordered和序列化,Driver端将数据变成RDD,整理数据转成自定义类类型的RDD,使用本身排序即可。 方式2:自定义一个类继承Ordered和序列化,Driver端将数据变成RDD,整理数据转成元组类型的RDD,使用就自定义类做排序规则。 方 阅读全文
posted @ 2019-04-06 01:52 RZ_Lee 阅读(628) 评论(0) 推荐(1)
摘要:主要考察的是广播变量的使用: 1、将要广播的数据 IP 规则数据存放在HDFS上,(广播出去的内容一旦广播出去产就不能改变了,如果需要实时改变的规则,可以将规则放到Redis中) 2、在Spark中转成RDD,然后收集到Driver端, 3、把 IP 规则数据广播到Executor中。Driver端 阅读全文
posted @ 2019-04-06 00:15 RZ_Lee 阅读(860) 评论(0) 推荐(1)