大数据
动物园园长黄华杰
Python开发/大数据开发
展开
-
Impala函数支持的部分时间格式
Impala函数支持的时间格式: select add_months('2020-05-20', 2); 2020-07-20 00:00:00 // 必须补0,不能写成2020-5-9 select adddate('2020-02-20', 2); 2020-02-22 00:00:00 select current_timestamp(); 2020-08-06 16:46:36.403408000 SELECT date_add('2020-04-05', 10); 2020-04-原创 2020-08-06 17:16:49 · 993 阅读 · 0 评论 -
Hive使用窗口函数分时间间隔规划用户会话-lag/sum
背景用户可能在app上活跃多次,而这多次界定为半个钟,也就是说,假如我7点到8点这段期间使用了app且进行了活跃操作,隔了半个钟后我重新打开了app进行了活跃的操作,假设活跃时间区间为12点到13点,那么,7-8点这段时间我们定为session1,12-13点这段时间我们定为session2思路根据时间戳reporttime来针对用户进行排序,获取这段期间的动作时间里线,使用lag进行判别,...原创 2020-05-07 09:44:04 · 1692 阅读 · 0 评论 -
SparkStreaming整合Kafka代码案例1
SparkStreaming整合Kafka代码maven依赖代码import org.apache.kafka.clients.consumer.ConsumerRecordimport org.apache.kafka.common.serialization.StringDeserializerimport org.apache.spark.streaming.dstream.Inpu...原创 2019-10-14 21:49:04 · 225 阅读 · 0 评论 -
hive使用窗口函数实现n分位数据分析
hive使用窗口函数实现n分位数据分析hive使用窗口函数实现n分位背景hivesql实现hive使用窗口函数实现n分位实际工作中,我们可能会遇到需要获取高质量的用户、主播或者大R的白名单来进行标签输入或者精准推送促活之类的需求以下以主播中用户观看时长为例背景图片说明:横轴: 主播号纵轴: 主播当天用户观看总时长从上图我们可以得出结论,存在一批长尾用户,也就是观看时长很低的...原创 2020-04-21 09:45:23 · 1170 阅读 · 0 评论 -
百度面试题: SQL语句查询用户登录天数
SQL语句查询用户登录天数表数据如图结果准备数据思路表数据如图结果准备数据# 准备数据0: jdbc:hive2://node03:10000> create table if not exists loadrecord(. . . . . . . . . . . . . . > uid int,. . . . . . . . . . . . . . > loa...原创 2019-10-10 23:06:27 · 793 阅读 · 0 评论 -
Spark整合Hive完整流程,欢迎留言讨论
Spark整合Hive整合hive元数据metadataHive 的 MetaStore 是一个 Hive 的组件而 Hive 的 MetaStore 的运行模式有三种Hive开启元数据服务如果没有添加下面这一段,启动spark会报错启动hive元数据服务同时需要加载其他配置,包括HDFS测试整合hive元数据metadataMetaStore, 元数据存储SparkSQL 内置的有一个...原创 2019-10-06 19:01:39 · 617 阅读 · 0 评论 -
nginx整合Kafka
nginx整合Kafka需求: 将网站产生的用户日志使用通过nginx写入Kafka中,不通过log文件和flume采集前端测试代码: 使用ajax发送用户数据 /** * 生命周期函数--监听页面初次渲染完成 */ onReady: function () { //在这个事件中,记录用户的行为,然后发送到后台服务器 //获取当前位置 wx.ge...原创 2019-10-04 16:56:48 · 1551 阅读 · 0 评论 -
Spark自定义分区解决手机号分区
Spark自定义分区解决手机号分区需求: 自定义分区对手机号按前三位进行分区怎么分区而HashPartitioner的实现是通过继承org.apache.spark.Partitioner类,重写了numPartitions和getPartition方法,这样,我们只需要自定义一个类,继承Partitioner类并实现里面的方法就可以完成,代码演示如下测试代码需求: 自定义分区对手机号按前三位进...原创 2019-09-28 19:09:34 · 360 阅读 · 0 评论 -
Spark使用mapPartitions获取分区下的元素
mapPartitions解析底层源码 /** * Return a new RDD by applying a function to each partition of this RDD. * * `preservesPartitioning` indicates whether the input function preserves the partitioner,...原创 2019-09-27 17:09:21 · 631 阅读 · 0 评论 -
Spark之combineByKey算子
Spark之combineByKeygroupByKey和ReduceByKey均是有combineByKey实现作用调用参数注意点groupByKey和ReduceByKey均是有combineByKey实现作用 对数据集按照 Key 进行聚合调用 combineByKey(createCombiner, mergeValue, mergeCombiners, [part...原创 2019-09-27 10:56:03 · 164 阅读 · 0 评论 -
Spark实现TopN计算
import org.apache.spark.rdd.RDDimport org.apache.spark.{SparkConf, SparkContext}object TopN { def main(args: Array[String]): Unit = { val topN = new SparkConf().setMaster("local[4]").se...原创 2019-09-26 20:06:51 · 1803 阅读 · 0 评论 -
MapReduce规约浅谈
MapReduce阶段的kv变化MapReduce是通过inputformat类读取文件产生K1,V1,map阶段读取数据,产生K2,V2;而Reduce阶段通过拉取map阶段的数据进行处理产生新的K3,V3在map阶段读取数据产生K2,V2之后,我们可以通过使用combiner规约来将map阶段的k2进行合并,V2生成集合,也就是从而减少生成文件的大小,减少reduce读取map阶段文件的网...原创 2019-09-26 19:13:37 · 315 阅读 · 0 评论 -
org.apache.flume.ChannelFullException: Space for commit to queue couldn't be acquired
flume启动出现异常异常报告如下原因:解决方式异常报告如下19/09/24 11:46:57 ERROR source.ExecSource: Failed while running command: tail -F -c +0 /export/callLog/call.logorg.apache.flume.ChannelFullException: Space for commit ...原创 2019-09-24 12:00:41 · 929 阅读 · 0 评论 -
ZooKeeper分布式锁详解
ZooKeeper分布式锁详解分布式锁机制假设客户端A抢先一步,对zk发起了加分布式锁请求,这个加锁请求用到了zk中的一个特殊概念,叫做临时顺序节点简单来说,就是在My_lock这个锁节点上创建了一个顺序节点,在zk内部自行维护的一个节点顺序号举个栗子: 第一个客户端来搞一个顺序节点,zk内部会给起个名字叫做:xxx-000001.然后第二个客户端来搞一个顺序节点,zk可能会起个名字...原创 2019-09-22 23:47:27 · 245 阅读 · 0 评论 -
Hive行转列拆分JSON案例1
需求:现在有一些数据格式如下:a:shandong,b:beijing,c:hebei|1,2,3,4,5,6,7,8,9|[{"source":"7fresh","monthSales":4900,"userCount":1900,"score":"9.9"},{"source":"jd","monthSales":2090,"userCount":78981,"score":"9.8"},{...原创 2019-09-19 17:24:43 · 1688 阅读 · 0 评论 -
HBase优化及部分面试点
HBase优化及部分面试点HBase优化HRegionServer宕机后系统怎么保证可用性(WAL机制)HBase的compaction过程和作用HBase优化从使用者角度,可以优化存储模型的设计rowkey设计:高位用散列,长度不宜过长,可以适当地把需要索引的条件拼接在rowkey里,查询时尽量用get,scan时要指定start/end key列族的设计:列族尽量少,且不同列族的...原创 2019-09-16 11:11:40 · 214 阅读 · 0 评论