kafka基本操作
kafka版本
kafka_2.11-0.11.0.1
配置server.properties
broker.id: 唯一,填数字
host.name:唯一,填计算机名
zookeeper.connect=(ip1:port,ip:port)
先启动zookeeper,再启动kafka-server
|
|
创建topic
|
|
启动生产者
|
|
启动消费者
|
|
ETL面试准备
sql基础知识(sql,hive-sql)
hbase 基础知识
hive 基础知识
数据仓库基础知识
Extract-Transform-Load
Extract
udf使用场景
UDF的引入极大地丰富了Spark SQL的表现力。一方面,它让我们享受了利用
Scala(当然,也包括Java或Python)
更为自然地编写代码实现函数的福利,另一方面,又能精简SQL(或者DataFrame的API),更加写意自如地完成复杂的数据分析
编写的UDF可以放到SQL语句的fields部分,也可以作为where、groupBy或者having子句的一部分。
既然是UDF,它也得保持足够的特殊性,否则就完全与Scala函数泯然众人也。这一特殊性不在于函数的实现,而是思考函数的角度,需要将UDF的参数视为数据表的某个列。
当然,我们也可以在使用UDF时,传入常量而非表的列名。让我们稍稍修改一下刚才的函数,让长度10作为函数的参数传入:
获取数组类型json字符串中某一字段的值
udaf使用场景
普通的UDF却也存在一个缺陷,就是无法在函数内部支持对表数据的聚合运算。例如,当我要对销量执行年度同比计算,就需要对当年和上一年的销量分别求和,然后再利用同比公式进行计算。此时,UDF就无能为力了。
这样的需求在实际项目中是很普遍的:请求参数经常以json格式存储在数据库中
spark-sql 所有内置函数
//要使用Spark SQL的内置函授,就一定要导入SQLContext下的隐式转换
org.apache.spark.sql.functions
sql解决不了的问题
简述map-reduce 模型
map-reduce 与spark 模型(DAG)对比分析
map-reduce模型的一般性
map-reduce 过程详解
mapReduce框架负责处理了分布式存储、工作调度、负载均衡、容错均衡、容错处理以及网络通信等复杂问题
把处理过程高度抽象为两个函数:map和reduce,map负责把任务分解成多个任务,reduce负责把分解后多任务处理的结果汇总起来
hbase注意要点
hbase 二次排序
问二次排序是什么,二次排序要继承什么接口?
三种排序三种查找
冒泡
快速排序
二分法查找 -scala
建立在有序的条件下
二叉树查找
前提条件
如何保证下标的有效性 (奇数+偶数)/2
|
|
红黑树遍历
二叉树遍历
scala计算用户基站停留时间
测试数据
18688888888,20160327082400,16030401EAFB68F1E3CDF819735E1C66,1
18611132889,20160327082500,16030401EAFB68F1E3CDF819735E1C66,1
18688888888,20160327170000,16030401EAFB68F1E3CDF819735E1C66,0
18611132889,20160327180000,16030401EAFB68F1E3CDF819735E1C66,0
程序步骤
整理数据
|
|