- 浏览: 207300 次
- 性别:
- 来自: 河北
最新评论
-
6420285:
你的文章很棒,很多地方讲的通俗易懂,非常感谢。 ...
深入掌握JMS(一):JSM基础 -
xs.cctv:
不错
zeroDateTimeBehavior=convertToNull -
hanyannan0123:
搞不清楚,此话属于经典呢,还是废话。
超类 好 -
czy584521:
```我肯定他用了谷歌金山词霸
IBM的面试官被我忽悠蒙了 -
yuantong:
老板跳槽?什么概念
我们老板跳槽了 !!!
文章列表
用户自定义函数
继承UDF,重写evaluate方法即可
以 length 为例
例子如下
import org.apache.hadoop.hive.ql.exec.UDF;
public class MD5Hash extends UDF {
public String evaluate(String in) {
// 请在此实现
}
}
hive 怎么调用呢
hive 把一切操作单元 看成operater
operater 是hive 逻辑操作单位
operater
下面 fileSinkOperator
filter Operator
Groupby Operator
KeyW ...
Spark在读写关系型数据表时提供了DataFrameReader和DataFrameWriter
DataFrameReader
Interface used to load a [[DataFrame]] from external storage systems (e.g. file systems,
* key-value stores, etc). Use [[SQLContext.read]] to access this.
隐式转换 缺少好完,但是对于 java对类方法严格要求, 确实起到补充作用。
java 如果实现需要代码开发大量代码 我估计新的java代码也会引入这些方法。
import java.io.File
import scala.io.Source
/* @author zhao
*/
class RichFile(val file:File){
def read=Source.fromFile(file.getPath()).mkString
}
object Context {
implicit def file2RichFile(file:File)=new RichF ...
先看putIfAbsent 这个方法
线程安全的情况修改值
ConcurrentHashMap的putIfAbsent
这个方法在key不存在的时候加入一个值,如果key存在就不放入,等价:
if (!map.containsKey(key))
return map.put(key, value);
else
return map.get(key);
测试代码:
复制代码
public class Test {
public static void main(String[] args) {
ConcurrentHashMap&l ...
private[spark] abstract class BlockStore(val blockManager: BlockManager) extends Logging {
def putBytes(blockId: BlockId, bytes: ByteBuffer, level: StorageLevel): PutResult
/**
* Put in a block and, possibly, also return its content as either bytes or another Iterator.
* This is use ...
Spark 调优
因为大部分Spark程序都具有“内存计算”的天性,所以集群中的所有资源:CPU、网络带宽或者是内存都有可能成为Spark程序的瓶颈。通常情况下,如果数据完全加载到内存那么网络带宽就会成为瓶颈,但是你仍然需要对 ...
MetadataCleaner运行定时任务周期性的清理元数据(metadata),有6种类型的元数据:MAP_OUTPUT_TRACKER,executor跟踪各个map任务输出的存储位置的数据,根据spark.cleaner.ttl.MAP_OUTPUT_TRACKER设置清理时间,默认值为-1,表示不清理;
SPARK_CONTEXT,SparkContext中记录缓存到内存中的RDD的数据结构,根据spark.cleaner.ttl.SPARK_CONTEXT设置清理时间,默认值为-1,表示不清理;;
HTTP_BROADCAST,采用http方式广播broadcast的元数据,根据s ...
Scala implicit
implicit基本含义
在Scala中有一个关键字是implicit, 之前一直不知道这个货是干什么的,今天整理了一下。
我们先来看一个例子:
def display(input:String):Unit = println(input)我们可以看到,display函数的定义只是接受String类型的入参,因此调用display("any string")这样的函数是没问题的。但是如果调用display(1)这样的入参不是String类型的话,编译会出错的。
如果我们想让display函数也能够支持Int类型的入参的话,除了我们重新定一个 ...
Scala中提供相对轻便的语法定义匿名函数。在源代码中的匿名函数被调用函数文本,并在运行时,函数文本被实例化为调用的函数值的对象。
Scala支持一流的功能,这意味着可以表达功能文本语法功能,即,(x: Int) => x + 1,函数都可以通过对象,这是所谓的函数值来表示。下面的表达式创建一个后继函数的整数:
var inc = (x:Int) => x+1
变量inc现在可以使用以通常的方式的函数:
var x = inc(7)-1
另外,也可以用多个参数定义的函数如下:
var mul = (x: Int, y: Int) => x*y
变量mul现在可以使用以通 ...
转载于:http://www.itxuexiwang.com/a/shujukujishu/redis/2016/0216/137.html
一、Redis提供了哪些持久化机制:
1). RDB持久化:
该机制是指在指定的时间间隔内将内存中的数据集快照写入磁盘。
2). AOF持久化:
该机制将以日志的形式记录服务器所处理的每一个写操作,在Redis服务器启动之初会读取该文件来重新构建数据库,以保证启动后数据库中的数据是完整的。
3). 无持久化:
我们可以通过配置的方式禁用Redis服务器的持久化功能,这样我们就可以将Redis视为一 ...
所谓的推测执行,就是当所有task都开始运行之后,Job Tracker会统计所有任务的平均进度,如果某个task所在的task node机器配置比较低或者CPU load很高(原因很多),导致任务执行比总体任务的平均执行要慢,此时Job Tracker会启动一个新的任务(duplicate task),原有任务和新任务(一个task会有多个attempt同时执行)哪个先执行完就把另外一个kill掉,这也是我们经常在Job Tracker页面看到任务执行成功,但是总有些任务被kill,就是这个原因。另外,根据mapreduce job的特点,同一个task执行多次的结果是一样的,所以task只要 ...
转载于:http://www.itxuexiwang.com/a/shujukujishu/redis/2016/0216/134.html?1455807040
一、概述:
在该系列的前几篇博客中,主要讲述的是与Redis数据类型相关的命令,如String、List、Set、Hashes和Sorted-Set。这些命令都具有一个共同点,即所有的操作都是针对与Key关联的Value的。而该篇博客将主要讲述与Key相关的Redis命令。学习这些命令对于学习Redis是非常重要的基础,也是能够充分挖掘Redis潜力的利器。
在该篇博客中,我们将一如既往的给出所有相关命令的 ...
转载于:http://www.itxuexiwang.com/a/shujukujishu/redis/2016/0216/131.html?1455808279
一、概述:
字符串类型是Redis中最为基础的数据存储类型,它在Redis中是二进制安全的,这便意味着该类型可以接受任何格式的数据,如JPEG图像数据或 ...
转载于:http://www.itxuexiwang.com/a/shujukujishu/redis/2016/0216/141.html
一、请求应答协议和RTT:
Redis是一种典型的基于C/S模型的TCP服务器。在客户端与服务器的通讯过程中,通常都是客户端率先发起请求,服务器在接收到请求后执行相应的任务,最后再将获取的数据或处理结果以应答的方式发送给客户端。在此过程中,客户端都会以阻塞的方式等待服务器返回的结果。见如下命令序列:
代码如下:
Client: INCR X
Server: 1
Client: INCR X
Server: ...
转载于:http://www.itxuexiwang.com/a/shujukujishu/redis/2016/0216/135.html?1455806987
一、概述:
和众多其它数据库一样,Redis作为NoSQL数据库也同样提供了事务机制。在Redis中,MULTI/EXEC/DISCARD/WATCH这四个命令是我们实现事务的基石。相 ...