技术专家 专注于大数据领域 博客园地址:https://www.cnblogs.com/yangsy0915/
Factory Pattern(工厂模式):1. 创建对象的接口,封装对象的创建;2. 使具体化类的工作延迟到子类中。(维护一类对象) AbstractFactory Pattern(抽象工厂 模型):该模式将一组对象的创建封装到一个用于创建对象的类中。
在hadoop中搭建lzo环境: wget http://www.oberhumer.com/opensource/lzo/download/lzo-2.06.tar.gz export CFLAGS=-m64 .
1 概述(Overview) 2 DataFrames 2.1 入口:SQLContext(Starting Point: SQLContext) 2.2 创建DataFrames(Creating DataFrames) 2.
这是一个最大熵的简明Java实现,提供训练与预测接口。训练采用GIS训练算法,附带示例训练集。本文旨在介绍最大熵的原理、分类和实现,不涉及公式推导或其他训练算法,请放心食用。 最大熵理论 简介 最大熵属于辨识模型,能够满足所有已知的约束, 对未知的信息不做任何过分的假设。
在统计计算中,最大期望(EM,Expectation–Maximization)算法是在概率(probabilistic)模型中寻找参数最大似然估计的算法,其中概率模型依赖于无法观测的隐藏变量(Latent Variabl)。
1. 挖掘关联规则 1.1 什么是关联规则 一言蔽之,关联规则是形如X→Y的蕴涵式,表示通过X可以推导“得到”Y,其中X和Y分别称为关联规则的先导(antecedent或left-hand-side, LHS)和后继(consequent或right-hand-side, RHS) 1.2 如何量化关联规则 关联规则挖掘的一个典型例子便是购物车分析。
报错信息如下: 主要是因为用root用户登录查询其他用户的表,结果这个用户不存在了,所以导致没有权限。临时解决办法,给root赋所有权限: grant all privileges on *.
数据挖掘一般是指从大量的数据中自动搜索隐藏于其中的有着特殊关系性的信息的过程。 •分类和聚类 •分类(Classification)就是按照某种标准给对象贴标签,再根据标签来区分归类,类别数不变。 •聚类(clustering)是指根据“物以类聚”的原理,将本身没有类别的样本聚集成不同的组,这样的一组数据对象的集合叫做簇,并且对每一个这样的簇进行描述的过程。
在统计学中,线性回归(Linear Regression)是利用称为线性回归方程的最小平方函数对一个或多个自变量和因变量之间关系进行建模的一种回归分析。这种函数是一个或多个称为回归系数的模型参数的线性组合。
决策树(Decision Tree)是在已知各种情况发生概率的基础上,通过构成决策树来求取净现值的期望值大于等于零的概率,评价项目风险,判断其可行性的决策分析方法,是直观运用概率分析的一种图解法。由于这种决策分支画成图形很像一棵树的枝干,故称决策树。
从图中可以看出,Yarn的客户端需要获取hadoop的配置信息,连接Yarn的ResourceManager。所以要有设置有 YARN_CONF_DIR或者HADOOP_CONF_DIR或者HADOOP_CONF_PATH,只要设置了其中一个环境变量,就会被读取。
Flink为大数据处理工具,类似hadoop,spark.但它能够在大规模分布式系统中快速处理,与spark相似也是基于内存运算,并以低延迟性和高容错性主城,其核心特性是实时的处理流数据。从此大数据生态圈又再填一员。
K-means算法是最为经典的基于划分的聚类方法,是十大经典数据挖掘算法之一。K-means算法的基本思想是:以空间中k个点为中心进行聚类,对最靠近他们的对象归类。通过迭代的方法,逐次更新各聚类中心的值,直至得到最好的聚类结果。
package main.asiainfo.coc.sparksql import org.apache.spark.sql.SQLContext import org.apache.spark.
1. LinkedHashMap概述: LinkedHashMap是Map接口的哈希表和链接列表实现,具有可预知的迭代顺序。此实现提供所有可选的映射操作,并允许使用null值和null键。此类不保证映射的顺序,特别是它不保证该顺序恒久不变。
1. HashMap的数据结构 数据结构中有数组和链表来实现对数据的存储,但这两者基本上是两个极端。 数组 数组存储区间是连续的,占用内存严重,故空间复杂的很大。但数组的二分查找时间复杂度小,为O(1);数组的特点是:寻址容易,插入和删除困难; 链表 链表存储区间离散,占用内存比较宽松,故空间复杂度很小,但时间复杂度很大,达O(N)。
最近用了一个RowNumber() over()函数 进行三张4000万数据的关联筛选,建表语句如下: create table CiCustomerPortrait2 as SELECT ROW_NUMBER() OVER() as id,* from (select t_7.
一直在搞spark,也没时间弄hadoop,不过Hadoop基本的编程我觉得我还是要会吧,看到一篇不错的文章,不过应该应用于hadoop2.0以前,因为代码中有 conf.set("mapred.job.
MLlib的设计原理:把数据以RDD的形式表示,然后在分布式数据集上调用各种算法。MLlib就是RDD上一系列可供调用的函数的集合。 操作步骤: 1、用字符串RDD来表示信息。 2、运行MLlib中的一个特征提取算法来吧文本数据转换为数值的特征。
在生产者/消费者模型中,生产者Producer负责生产数据,而消费者Consumer负责使用数据。多个生产者线程会在同一时间运行,生产数据,并放到内存中一个共享的区域。期间,多个消费者线程读取内存共享区,消费里面的数据。
JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。 我们运行和调试Java程序的时候,经常会提到一个JVM的概念.
def main(args: Array[String]) { val sparkConf = new SparkConf().setMaster("local").setAppName("cocapp").
1.1所采用生活中的事件: 我要去银行办理存钱业务,因为人多,需要排队等待。 1)排队分为在队伍中等待和取号等待两种。在队伍中等待,那么我就需要不断的看看前面的人办理完了没。
Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器,在高连接并发的情况下Nginx 是 Apache 服务器不错的替代品.其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好.目前中国大陆使用nginx网站用户有:新浪、网易、 腾讯,另外知名的微网志Plurk也使用nginx。
1. 什么是 Java 虚拟机?为什么 Java 被称作是 “ 平台无关的编程语言 ” ? Java 虚拟机是一个可以执行 Java 字节码的虚拟机进程。 Java 源文件被编译成能被 Java 虚拟机执行的字节码文件。
输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。 递归函数以参数节点root为根节点的子树的深度 public class TreeNode { int val = 0; TreeNode left ...
createStream那几个参数折腾了我好久。。网上都是一带而过,最终才搞懂..关于sparkStreaming的还是太少,最终尝试成功。。。 首先启动zookeeper ./bin/zookeeper-server-start.
1.创建RDD val lines = sc.parallelize(List("pandas","i like pandas")) 2.加载本地文件到RDD val linesRDD = sc.
其实我就是要让数据存储在hdfs上而已。。。。。。。。 多配置点东西就好了,在hbase-site.xml中加入: hbase.rootdir hdfs://yangsy132:9000/user/hive/warehouse/ hbase.
//randomKey获取随机的key //flushdb 清空当前数据库 ( 就是不点回车) //set get //获取所有Key //更名key 集合的操作: 使用sadd创建集合 使用smembers 查询集合,使用srem删除...
特质:trait是Scala里代码复用的基础单元。特质封装了方法和字段的定义,并可以通过混入到类中重用它们。不像类的继承那样,每个类都只能继承唯一的超类,类可以混入任意个特质。它们最常用到的两种方式:拓宽瘦接口为胖接口和定义可堆叠的改变。
private def filesHere = (new java.io.File(".")).listFiles() def filesEnding(query: String) = for(file containsNeg(List(1, 2, 3, -4)) ...
从上往下打印出二叉树的每个节点,同层节点从左至右打印。 使用两个队列,一个存放节点,一个存放值。将根节点加入到队列中,然后遍历队列中的元素,遍历过程中,访问该元素的左右节点,再将左右节点依次加入到队列中。
JAVA中,举例你S是一个字符串,那么s(i)就是该字符串的第i个字符(s.charAt(i)).Scala中使用apply的方法 JAVA与C++的?:操作符 等同于Scala的 if ( x > 0) 1 else -1 x>0 ? 1:...
输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。
首先我们使用新的API方法连接mysql加载数据 创建DF import org.apache.spark.sql.DataFrame import org.apache.spark.{SparkContext, SparkConf} import org.
定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。 public: /*入栈时,判断存放最小元素的栈是否为空, 入栈元素是否小于存放最小元素栈的栈顶元素*/ void push(int value) { stacktemp.
package com.ailk.biapp.ci.localization.cntv.filter; import java.io.IOException; import java.util.
import javax.jms.Connection; import javax.jms.ConnectionFactory; import javax.jms.Destination; import javax.
producer 消息的生成者,即发布消息 consumer 消息的消费者,即订阅消息 broker Kafka以集群的方式运行,可以由一个或多个服务组成,服务即broker zookeeper 协调转发 一、创建topic .
看书大概了解了下Streaming的原理,但是木有动过手啊。。。万事开头难啊,一个wordcount 2小时怎么都运行不出结果。是我太蠢了,好了言归正传。 SparkStreaming是一个批处理的流式计算框架,适合处理实时数据与历史数据混合处理的场景(比如,你用streaming将实时数据读入处理,再使用sparkSQL提取历史数据,与之关联处理)。
给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。 public class OngoingTimesSquare{ public static double Power(double base,int exponent){...
输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。 解析:如果一个整数不为0,那么这个整数至少有一位是1。如果我们把这个整数减1,那么原来处在整数最右边的1就会变为0,原来在1后面的所有的0都会变成1(如果最右边的1后面还有0的话)。
一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 因为n级台阶,第一步有n种跳法:跳1级、跳2级、到跳n级跳1级,剩下n-1级,则剩下跳法是f(n-1)跳2级,剩下n-2级,则剩下跳法是f(n-2)所以f(n)=f(n-1)+f(n-2)+...+f(1)因为f(n-1)=f(n-2)+f(n-3)+...+f(1)所以f(n)=2*f(n-1) 如果target = 0,说明是直接跳过来,否则返回1;否则,总是有target中选择,把每种选择包含的步骤起来就行了,递归到0结束循环,并合并结果。
延迟构造 DelayedInit特质是为编译器提供的标记性的特质。整个构造器被包装成一个函数并传递给delayedInit方法。 trait DelayedInit { def deayedInit(x : Unit) : Unit } 这个方法接受一个函数对象,函数对象里...
创建一个名为PageViews的表,并具有名为info的列簇: create 'PageViews', 'info' 每张表至少要有一个列簇,因此我们创建了info,现在,看看我们的表,执行下面list命令: list 通过describe命令得到表的更多...
一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 思路:对于第n个台阶来说,只能从n-1或者n-2的台阶跳上来 public class jumpFloor { public int jumpFloor(int num){ ...
大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项. public class Fibonacci { public static int[] record = null; public int Fibonaci(int n){ ...
换行后的左大括号造成的问题: class FooHolder { def foo() { println("foo was called") } } Scala认为def foo()这行代码定义了一个抽象方法。
把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个非递减序列的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。