- 博客(48)
- 收藏
- 关注
原创 HBase原子性操作compaer-and-set
HBase原子性操作compaer-and-setcheckAndPut(Bytes.toBytes(“row1”),Bytes.toBytes(“colfam1”), Bytes.toBytes(“qual1”), null, put1)方法能保证服务器端put操作的原子性。如果检查成功通过,就执行put操作,否则彻底放弃修改操作。package hbasebook.ch3;import hbasebook.util.HBaseHelper;import org.apache.hadoop.co
2021-04-01 16:34:22
287
原创 向HBase中追加数据-Append
向HBase中追加数据-Appendpackage hbasebook.ch3;import hbasebook.util.HBaseHelper;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.hbase.HBaseConfiguration;import org.apache.hadoop.hbase.TableName;import org.apache.hadoop.hbase.client.Ap
2021-04-01 16:06:13
1204
原创 使用列表向HBase中添加数据
使用列表向HBase中添加数据创建一个列表用于存储Put实例将一个Put实例添加到列表中package hbasebook.ch3;import hbasebook.util.HBaseHelper;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.hbase.HBaseConfiguration;import org.apache.hadoop.hbase.TableName;import org
2021-04-01 15:17:06
619
原创 向HBase插入数据的应用示例
向HBase插入数据的应用示例package hbasebook.ch3;import hbasebook.util.HBaseHelper;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.hbase.HBaseConfiguration;import org.apache.hadoop.hbase.TableName;import org.apache.hadoop.hbase.client.Conne
2021-04-01 14:16:51
203
原创 HDFS API开发
package hdfsdemo;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.fs.*;import org.checkerframework.checker.units.qual.C;import org.junit.Test;import java.io.File;import java.io.IOException;import java.net.URI;import java.net.U
2021-03-08 19:01:05
123
原创 Java----一维数组
package javacore;import java.util.Arrays;public class DataList { public static void main(String[] args) { //定义数组 int[] a = new int[100]; for (int i = 0; i < 100; i++) { a[i] = i; System.out.println
2021-01-15 21:19:16
82
原创 Java-变量定义
package javacore;public class VarExplain { public static void main(String[]args){ //变量初始化 int vacationDays = 12; double salary = 650000; System.out.println("假期天数:"+vacationDays+" , 工资是: "+salary); //常量,final定义的
2021-01-15 20:34:08
103
原创 Java-数据类型说明
package javacore;public class PrimitiveTypes { public static void main(String[] args){ System.out.println("整型数据说明:-----------------------------------------"); //Int 最大最小值 System.out.println("Int 最大值是: "+Integer.MAX_VALUE);
2021-01-15 20:12:39
63
原创 Spark Streaming自定义接收器
首先从实现Receiver (Scala doc, Java doc)开始。自定义接收方必须通过实现两个方法来扩展此抽象类onStart():开始接收数据时要做的事情。onStop():停止接收数据的操作。双方onStart()并onStop()不能无限期地阻塞。通常,onStart()将启动负责接收数据的线程,并onStop()确保停止这些接收数据的线程。接收线程也可以使用isStopped(),一个Receiver方法,以检查他们是否应该停止接收数据。接收到数据后,可以通过调用将该数据存储在Sp
2021-01-09 12:26:59
142
原创 监听服务器节点动态上下线案例
1.需求某分布式系统中,主节点可以有多台,可以动态上下线,任意一台客户端都能实时感知到主节点服务器的上下线。2.需求分析,如图5-12所示3.具体实现(0)先在集群上创建/servers节点[zk: localhost:2181(CONNECTED) 10] create /servers “servers”Created /serverspackage zookeeperdemos;import org.apache.zookeeper.*;import java.io.IOExc
2021-01-08 22:45:36
125
原创 创建ZooKeeper客户端
需要在项目的src/main/resources目录下,新建一个文件,命名为“log4j.properties”,在文件中填入。log4j.rootLogger=INFO, stdoutlog4j.appender.stdout=org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.layout=org.apache.log4j.PatternLayoutlog4j.appender.stdout.layout.ConversionPattern
2021-01-08 22:12:47
131
原创 大数据开发之自定义InputFormat案例实操
无论HDFS还是MapReduce,在处理小文件时效率都非常低,但又难免面临处理大量小文件的场景,此时,就需要有相应解决方案。可以自定义InputFormat实现小文件的合并。1.需求将多个小文件合并成一个SequenceFile文件(SequenceFile文件是Hadoop用来存储二进制形式的key-value对的文件格式),SequenceFile里面存储着多个文件,存储的形式为文件路径+名称为key,文件内容为value。(1) 自定义RecordReader类package MRS.inp
2020-12-23 23:17:11
143
原创 大数据开发之NLineInputFormat使用案例
1.需求对每个单词进行个数统计,要求根据每个输入文件的行数来规定输出多少个切片。此案例要求每三行放入一个切片中。(1)输入数据banzhang ni haoxihuan hadoop banzhangbanzhang ni haoxihuan hadoop banzhangbanzhang ni haoxihuan hadoop banzhangbanzhang ni haoxihuan hadoop banzhangbanzhang ni haoxihuan hadoop banz
2020-12-22 23:21:30
231
原创 KeyValueTextInputFormat使用案例
(1)输入数据banzhang ni haoxihuan hadoop banzhangbanzhang ni haoxihuan hadoop banzhang(2)期望结果数据banzhang 2xihuan 2代码实现(1)编写Mapper类package MRS.kv;import java.io.IOException;import org.apache.hadoop.io.IntWritable;import org.apache.hadoop.io.Text;i
2020-12-22 22:40:29
88
原创 大数据开发之Mapper Reduce序列化案例实操
统计每一个手机号耗费的总上行流量、下行流量、总流量(1)输入数据1 13736230513 192.196.100.1 www.atguigu.com 2481 24681 2002 13846544121 192.196.100.2 264 0 2003 13956435636 192.196.100.3 132 1512 2004 13966251146 192.168.100.1 240 0 4045 18271575951 192.168.100.2 www.atg.
2020-12-21 23:45:38
214
原创 大数据开发之MapperReduce WordCount案例实操
在给定的文本文件中统计输出每一个单词出现的总次数输入数据atguigu atguiguss sscls clsjiaobanzhangxuehadoop按照MapReduce编程规范,分别编写Mapper,Reducer,Driver3.编写Mapper类package MRS;import org.apache.hadoop.io.IntWritable;import org.apache.hadoop.io.LongWritable;import org.apac
2020-12-21 22:14:50
306
原创 大数据开发之HDFS文件上传
把本地文件上传到HDFS根目录 @Test public void putFileToHDFS() throws URISyntaxException, IOException, InterruptedException { //获取文件系统 Configuration conf = new Configuration(); FileSystem fs = FileSystem.get(new URI("hdfs://hadoop1:9000"
2020-12-20 23:55:53
258
原创 大数据开发之HDFS的I/O流操作-文件下载
从HDFS上下载banhua.txt文件到本地package HDFS;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.fs.FSDataInputStream;import org.apache.hadoop.fs.FileSystem;import org.apache.hadoop.fs.Path;import org.apache.hadoop.io.IOUtils;import org....
2020-12-20 23:44:17
149
原创 大数据开发之Hdfs文件基本操作API
import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.fs.FileSystem;import org.apache.hadoop.fs.Path;import org.junit.Test;import java.io.IOException;import java.net.URI;import java.net.URISyntaxException;public class HdfsClient {
2020-12-20 19:58:39
91
原创 Hadoop大数据完全分布式运行模式搭建
环境准备准备3台客户机(关闭防火墙、静态ip、主机名称)安装JDK配置环境变量安装Hadoop配置环境变量配置集群单点启动配置ssh群起并测试集群编写集群分发脚本xsync在/home/***目录下创建bin目录,并在bin目录下xsync创建文件,文件内容如下:mkdir bincd bin/touch s=xsyncvi xsync在该文件中编写如下代码#!/bin/bash#1 获取输入参数个数,如果没有参数,直接退出pcount=$#if((pcount
2020-12-20 15:29:57
128
原创 大数据之ZooKeeper API应用
配置POM文件 <dependency> <groupId>org.apache.zookeeper</groupId> <artifactId>zookeeper</artifactId> <version>3.6.2</version> </dependency> <dependen
2020-12-19 10:22:01
91
1
原创 大数据开发之Zookeeper分布式安装部署
1.集群规划在hadoop1、hadoop2和hadoop3三个节点上部署Zookeeper。2.解压安装(1)解压Zookeeper安装包到/opt/module/目录下tar -zxvf zookeeper-3.*.*.tar.gz -C /opt/(2)同步/opt/zookeeper目录内容到hadoop2、hadoop3 xsync zookeeper/3.配置服务器编号(1)在/opt/zookeeper/这个目录下创建zkData mkdir -p zkData(2)
2020-12-19 09:48:51
124
1
原创 KeyValueTextInputFormat使用案例
package kvalues;import org.apache.hadoop.io.LongWritable;import org.apache.hadoop.io.Text;import org.apache.hadoop.mapreduce.Mapper;import java.io.IOException;public class KVTextMapper extends Mapper<Text,Text, Text, LongWritable> { LongW
2020-12-13 11:37:12
108
原创 2020-12-09
package hdfsdemo;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.fs.FSDataOutputStream;import org.apache.hadoop.fs.FileSystem;import org.apache.hadoop.fs.Path;import org.apache.hadoop.io.IOUtils;import org.junit.Test;import ja
2020-12-13 11:33:21
84
原创 HADOOP-HDFS-文件上传
package hdfsdemo;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.fs.FileSystem;import org.apache.hadoop.fs.Path;import java.io.IOException;import java.net.URI;import java.net.URISyntaxException;import org.junit.Test;public c
2020-12-09 22:38:53
145
原创 HDFS-客户端操作-创建文件夹
创建一个maven工程添加POM包依赖:hadoop-common,hadoop-client,hadoop-hdfs<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="ht
2020-12-07 23:51:26
627
原创 Scala-懒加载
惰性函数当函数返回值被声明为lazy时,函数的执行将被推迟,直到我们首次对此取值,该函 数才会执行。这种函数我们称之为惰性函数,在Java的某些框架代码中称之为懒加载 (延迟加载)。package demosobject LazyDemo01 { def sum(n1:Int,n2:Int): Int ={ println("Sum() is Working") return n1+n2 } def main(args:Array[String]): Unit ={
2020-12-06 21:29:23
472
原创 Scala-函数式编程
基本语法def 函数名 ([参数名: 参数类型], …)[[: 返回值类型] =] { 语句… return 返回值 }函数声明关键字为def (definition)[参数名: 参数类型], …:表示函数的输入(就是参数列表), 可以没有。 如果有,多 个参数使用逗号间隔 3) 函数中的语句:表示为了实现某一功能代码块函数可以有返回值,也可以没有 5) 返回值形式1: : 返回值类型 =返回值形式2: = 表示返回值类型不确定,使用类型推导完成返回值形式3: 表示没有返回值,ret
2020-12-06 21:19:13
41
原创 flatMap(func)
类似于map,但是每一个输入元素可以被映射为0或多个输出元素(所以func应该返回一个序列,而不是单一元素)scala> val sourceFlat = sc.parallelize(1 to 5)sourceFlat: org.apache.spark.rdd.RDD[Int] = ParallelCollectionRDD[12] at parallelize at <console>:24scala> sourceFlat.collect()res11: Array
2020-12-02 22:13:21
269
原创 SPARK-RDD-glom
将每一个分区形成一个数组,形成新的RDD类型时RDD[Array[T]]val rdd1 = sc.parallelize(1 to 25,5)rdd1.glom().collect()
2020-12-02 22:09:53
200
原创 SPARK-计数程序开发
import org.apache.spark.{SparkConf, SparkContext}object Hello extends App{ //创建SparkConf对象 val sparkConf = new SparkConf().setMaster("local[*]").setAppName("Hello Scala") //创建SparkContext对象 val sc = new SparkContext(sparkConf) //读取文件 val da.
2020-11-25 23:54:42
76
原创 几何布朗运动模拟
几何布朗运动模拟几何布朗运动过程可以用随机微分方程描述为:????????_????=????????_???? ????????+????????_???? ????????_???? 。这里过程的漂移项已经被设置为无风险常数短期利率r,意味着我们在等价鞅测度下进行操作。这个微分方程可以用Euler框架进行分解,以进行模拟,我们现在在离散市场模型中考虑问题,例如我们的一般市场模型ℳ,相关日期是有限离散序列0<????_1<????_2<…<????,公式如下:????_(?
2020-11-04 23:34:38
3008
原创 模拟基类
首先,我们在模拟类中生成的实例应当仅仅包含以下三个属性:name:一个字符串对象表示模拟对象模型的名称。mar_env:market_environment类的实例corr: 一个标记(浮点数)代表是否对象是相关的。模拟基类中包含的方法有:generate_time_grid:这个方法生成用于模拟的相关日期的时间格点,这个任务对于所有的模拟类来说是相同的。get_instrument_values:每个模拟类都必须返回一个ndarray对象,包含模拟的工具价值(例如,模拟股票价格,商品价格,波.
2020-11-03 22:56:27
763
1
原创 随机数生成-python实现
随机数生成时MonteCarlo模拟的中心任务。前面的章节介绍了如何使用Python和例如numpy.random等库莱生成不同分布的随机数的方法。对于我们现在的项目,最重要的是标准正态分布的随机数。这样我们应当有一个专门用来生成这种随机数的方便的函数。这个函数中使用了方差减少技术,也就是antithetic paths和moment matching,这些在前面章节中有所介绍。应用这个函数是很直接的。这个函数是我们后续分析的重要驱动力量。import numpy as npdef sn.
2020-11-03 22:02:26
549
1
原创 风险中性贴现-短期利率贴现
期权 资产定价基本定理import numpy as np#计算年份比例def get_year_deltas(date_list,day_count=365.): """返回以年的比例表示的日期间隔列表""" start = date_list[0] delta_list = [(date-start).days/day_count for date in date_list] return np.array(delta_list)#风险中性贴现 短期利率
2020-11-03 20:42:55
343
原创 隐含波动率模型-增量搜寻算法-python实现
隐含波动率模型import numpy as npdef incremental_search(f,a,b,dx): fa=f(a) c=a+dx fc=f(c) n=1 while np.sign(fa)==np.sign(fc): if a>=b: return a-dx,n a=c fa=fc c=a+dx fc=f(c) n+=
2020-10-30 23:51:20
619
原创 jacobi方法-python实现
jacobi方法import numpy as npdef jacobi(A,B,n,tol=1e-10): x = np.zeros_like(B) for it_count in range(n): x_new=np.zeros_like(x) for i in range(A.shape[0]): s1 = np.dot(A[i,:i],x[:i]) s2 = np.dot(A[i,i+1:],x[i+
2020-10-30 23:19:19
1022
原创 GaussSeidel方法-python实现
GaussSeidel方法def gauss(A,B,n,tol=1e-10): L = np.tril(A) U = A-L L_inv = np.linalg.inv(L) x=np.zeros_like(B) for i in range(n): Ux = np.dot(U,x) x_new = np.dot(L_inv,B-Ux) if np.allclose(x,x_new,tol):
2020-10-30 23:18:04
782
原创 Cholesky分解-金融应用-python
Cholesky分解#Cholesky分解import numpy as npA=np.array([[10.,-1.,2.,0.1], [-1.,11.,-1.,3.], [2.,-1.,10.,-1.], [0.0,3.,-1.,15.]])B=np.array([6.,25.,-11.,15.])L=np.linalg.cholesky(A)#print(L)#print(np.dot(L,L.T.conj()))y=np.
2020-10-30 23:15:10
1183
原创 利用矩阵求解线性方程
利用矩阵求解线性方程import numpy as npA = np.array([[2,1,1],[1,3,2],[1,0,0]])B = np.array([4,5,6])print(np.linalg.solve(A,B))LU分解#LU分解import scipy.linalg as linalgimport numpy as npA=np.array([[2.,1.,1.],[1.,3.,2.],[1.,0.,0.]])B = np.array([4,5,6])LU=lin
2020-10-30 23:13:23
851
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人