自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

suojie的博客

学习/总结/思考

  • 博客(129)
  • 收藏
  • 关注

原创 sparksql--json/parquet/hive/jdbc/rdd结合

/** * json id name t1 * parquet id age t2 * rdd id sex t3 * hive id addr t4 * mysql id hobby t5 * * 通过spark sql 把五个临时表数据关联 * * id name age sex addr hobby * 输出到本地...

2019-03-01 19:55:19 336

原创 sparksql--JDBC

val mapOptitons=Map[String,String]( ("url","jdbc:mysql://wangfutai:3306/hive"), ("user","hive"), ("password","hive"), ("dbtable","apptab") ) //通过sparkSql,

2019-03-01 19:54:35 216

原创 sparksql--hive

//与hive表进行连接: // 1.一种通过conf.set 设置或直接将hive配置hive-site.xml文件拷贝工程 // 2.加载mysql驱动 //从hive中读取数据,驱动不是SQLContext,而是HiveContext val hsc=new HiveContext(sc) //执行hql语句 hsc.sql("select * from hive.perso...

2019-03-01 19:54:07 194

原创 sparksql文件的读写-json和parquet

//1.读取一个json文本val df1= ssc.read.json("E:\\sparkdata\\person.json")//2.读取数据,在format方法中指定类型val df2=ssc.read.format("json").load("E:\\sparkdata\\person.json")val df3=ssc.read.format("parquet").lo...

2019-03-01 19:53:36 606

原创 数据分析--DataFrame(4)

import numpy as npimport pandas as pd# 1.读取Pokemon.csvdf=pd.read_csv('Pokemon.csv',encoding='utf-8')print(df)# 2.将列名同统一转成小写df_index=df.columns.str.lower()#获取表格的列名df.columns=df_index#print(df)...

2019-02-22 19:48:03 201

原创 数据分析--画图

import matplotlib.pyplot as pltimport pandas as pdimport seaborn as snsplt.rcParams['axes.unicode_minus'] = Falsedf=pd.read_csv('Pokemon.csv',encoding='utf-8')df_index=df.columns.str.lower()#获取表...

2019-02-22 16:44:19 614

原创 数据分析--DataFrame(3)

import pandas as pdimport numpy as nparr=np.arange(1,21).reshape(5,4)df=pd.DataFrame(arr,columns=list('ABCD'))df.ix[3,'C']=np.nandf.ix[[0,1],'D']=np.nanprint(df)# 删除nan的行 df.dropna()print(df...

2019-02-22 16:00:17 194

原创 数据分析--DataFrame(2)

import pandas as pdimport numpy as np#从csv文件读取数据df=pd.read_csv("users.csv",encoding='utf-8')#2.获取前20条记录print(df.head(20))# 3.这个数据集一共有多少条数据print(df.shape[0])print(df.index.size)# 4.一共有几列prin...

2019-02-22 15:59:40 198

原创 数据分析--DataFrame(1)

import pandas as pdimport numpy as np#1.DataFrame结构类型于数据库结构的数据结果lst=[[1,2,3],[4,5,6],[7,8,9]]print(pd.DataFrame(lst,index=list('abc'),columns=list('def')))dic={"name":"wang","age":15,"addr":"上海"...

2019-02-22 15:58:53 264

原创 数据分析--pandas

import pandas as pdimport numpy as np#1创建序列lst=[1,2,3,4,5]s=pd.Series(lst)print(s)lst=[[1,2,3],[4,5,6],[7,8,9]]print(pd.DataFrame(lst))print(pd.DataFrame(lst)[1][2])tup=(4,6,8)dic={'name'...

2019-02-22 12:22:07 119

原创 数据分析--numpy使用

1.安装numpy,scipy, pandasnumpy 高级数组,线性代数中矩阵scipy 科学计算基础公式库pandas 数据分析工具matplotlib 绘图import numpy as npimport random#1.使用numpy创建一维数组lst=[1,2,3,4]#使用列表tup=(1,2,3,4)#使用元组#2.创建连续区间的数字的一维数组# ...

2019-02-22 10:41:29 164

原创 数据分析--numpy高级使用

import numpy as npimport random#1切片和序列一致arr=np.arange(3,18)print(arr[2:4])#[3 4],不包含结尾的数字print(arr[-1])#9print(arr[::2])#[1 3 5 7 9]print("*"*10)brr=arr#两者的id是一样的print(brr)brr=arr[:]#对arr做了...

2019-02-22 10:40:51 184

原创 Scala--trait 特质 针对java接口 扩充

1)可以把trait作为接口来使用,scala没有implement关键字 继承trait和class 都是使用 extends scala 继承多个trait 可以使用with关键字trait A {def AFuc(a:String)}trait B {def BFuc(b:String)} class Person(val name:String) extends A...

2019-02-21 19:28:28 404

原创 Scala--面向对象(伴生类和伴生对象)

伴生对象和伴生类 如果有一个class,还有一个与class同名的object,那么就称这个object是class的伴生对象,class就是object的伴生类 伴生对象和伴生类必须放在同一个.scala文件中 伴生对象和伴生类,最大特点是可以互相访问private 变量class student { private var name = "aaa"}object ...

2019-02-21 19:27:34 799

原创 Scala--apply函数

class Person(val name:String) { private var age = 0 println("this is class! "+name) def this(name:String, age:Int) { this(name) this.age = age ...

2019-02-21 19:26:53 244

原创 Scala--面向对象(构造器)

构造器(1)主构造器/*scala构造函数分成两种,a.主构造函数 b.辅助构造函数 主构造函数,和类名放在一起。其中,代码没有出现在函数中,就是主构造函数的代码。 一个类只能有一个主构造函数*/class Student(val name:String="www", val age:Int) { println("name:"+name + "\t age:" ...

2019-02-21 19:26:07 182

原创 Scala--面向对象(get和set方法)

定义不带private的var变量,此时scala生成面向jvm的类,会定义为private的name,并提供public的get和set方法如果使用private修饰变量,则生成的get和set方法也是private如果定义val 变量,则只会生成get方法如果不希望生成get和set方法,可以声明为 private [this],需要自己定义get和set方法 class St...

2019-02-21 19:25:29 4273

原创 Scala--模式匹配

模式匹配1.case 基本用法,对变量的值进行模式匹配 变量 match { case 值1 => 代码段1 case 值2 => 代码段2 case _ => 代码段3 不满足值1和值2 到_分支下 } def score(score:String) { score match ...

2019-02-21 19:24:02 136

原创 Scala--高阶函数

高阶函数(1)将函数赋值给变量(参数:参数类型。。。) => 函数体 (name:String) => println("hello " + name) 把一个匿名函数赋值给一个普通变量val myFunction = (name:String) => println("hello " + name) print(myFunction("adsf"))(2...

2019-02-21 19:23:22 91

原创 Scala-lazy 值

lazy 值 !!!!!    如果将一个变量声明为lazy,只有在第一次使用该变量,变量对应的表达式才会发生计算。  普通变量 scala> val lines = Source.fromFile("C:/11.txt").mkStringjava.io.FileNotFoundException: /home/candle/test/aaa.txt (No such fi...

2019-02-21 19:22:33 156

原创 Python tell和seek操作

tell1. 作用:获取当前文件读取指针的位置2. 语法格式: file.tell() 注: 此方法没有参数seek1. 作用:用于移动文件读写指针到指定的位置2. 语法格式:file.seek(offset, whence=0):--> offset: 偏移量,需要向前或者是向后移动的字节数--> whence: 可选值,默认为0, 可选值为1或者2,表示从何处开始计...

2019-02-20 11:32:16 365 1

原创 Scala-breakable的用法

import util.control.Breaks._object test { def main(args: Array[String]): Unit = { /**breakable的用法 * 1、首先需要导入scala.util.control.Breaks._这个包 * 2、将需要通过breakable控制的代码放到breaka...

2019-02-14 17:38:26 2353

原创 mysql-hive-hbase数据之间的传递-sqoop

1.将mysql数据导入hivea.普通表创建hive表格 CREATE TABLE hive.mysql_to_hive ( id INT, name STRING, age INT ) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' STORED AS TEXTFILE; sqoop import \ --connect ...

2019-01-25 10:43:25 245

原创 c3p0使用

1.xml配置<?xml version="1.0" encoding="ISO-8859-1"?><c3p0-config><!--默认配置 --><default-config><property name="driverClass">com.mysql.jdbc.Driver<

2019-01-25 10:06:09 151

原创 导入mysql中文乱码问题

一、避免创建数据库及表出现中文乱码和查看编码方法1、创建数据库的时候: 1 2 3 CREATE DATABASE `test` CHARACTER SET 'utf8' COLLATE 'utf8_general_ci'; 2、建表的时候 1 2 3 4 CR...

2019-01-22 19:43:48 796

原创 flume--avro输入

a1.sources = s1a1.channels = c1a1.sinks = k1a1.sources.s1.type = avroa1.sources.s1.channels = c1a1.sources.s1.bind = wangfutaia1.sources.s1.port = 4141a1.channels.c1.type = filea1.channels....

2019-01-21 16:42:22 299

原创 flume--多路复用

同一时刻,source只能传输给一个channelsource是通过event header来决定传输到哪一个channelsource 本地channel c1 localfile c2 memsink k1 logger k2本地目录如果文件名1_txt 传输到logger 如果是2_txt 传输到本地a1.sources = s1 a1.channels =...

2019-01-21 16:41:29 1889 1

原创 flume--多路复制(上传到hdfs和本地)

a1.sources = s1a1.channels=c1 c2a1.sinks=k1 k2a1.sources.s1.type = syslogtcpa1.sources.s1.port = 5140a1.sources.s1.host = wangfutaia1.sources.s1.channels = c1 c2配置多路复制a1.sources.s1.sel...

2019-01-21 16:40:52 319

原创 收集http协议数据

a1.sources = s1a1.sinks = k1a1.channels = c1a1.sources.s1.type = httpa1.sources.s1.port = 5140a1.sources.s1.bind = 192.168.15.76a1.sources.s1.channels = c1a1.sources.s1.handler = org.apache.fl...

2019-01-21 16:40:23 265

原创 flume --收集日志到hbase中

a1.sources = s1a1.channels = c1a1.sinks = k1#tcp协议a1.sources.s1.type = syslogtcpa1.sources.s1.port = 5140a1.sources.s1.host = wangfutaia1.sources.s1.channels = c1#channela1.channels.c1.typ...

2019-01-21 16:39:55 350

原创 flume--收集日志到hive

方案一:收集到hdfs中方案二:插入已经有的表,使用flume收集数据到hive,hive中数据必须以orc格式保存source 网络日志channel 本地磁盘+memory,优先使用内存,如果内存使用完毕,就使用本地磁盘作为缓冲sink hivea1.sources = s1a1.channels=c1a1.sinks=k1#tcp协议a1.sources.s1.t...

2019-01-21 16:36:54 1143

原创 flume--收集日志到hdfs

例子:a1.sources = s1a1.channels=c1a1.sinks=k1#tcp协议a1.sources.s1.type = syslogtcpa1.sources.s1.port= 5140a1.sources.s1.host= wangfutaia1.sources.s1.channels = c1a1.channels = c1a1.channels....

2019-01-21 16:36:14 335

原创 flume--网络日志收集

#channels  内存#sink 本地a1.sources = s1a1.channels=c1a1.sinks=k1#tcp协议#a1.sources.s1.type =  syslogtcp#a1.sources.s1.port= 5140#a1.sources.s1.host= wangfutai#a1.sources.s1.channels = c1...

2019-01-21 16:35:20 197

原创 hive面试题

1. Hive数据倾斜原因key分布不均匀业务数据本身的特性SQL语句造成数据倾斜解决方法:1).hive设置hive.map.aggr=true和hive.groupby.skewindata=true有数据倾斜的时候进行负载均衡,当选项设定为true,生成的查询计划会有两个MR Job。第一个MR Job中,Map的输出结果集合会随机分布到Reduce中,每个Reduce做...

2019-01-21 16:19:57 592

原创 flume收集日志到hive遇到问题总结

异常如下:19/01/18 02:12:51 WARN hive.HiveSink: k1 : Failed connecting to EndPoint {metaStoreUri='thrift://wangfutai:9083', database='hive', table='flume2', partitionVals=[] }org.apache.flume.sink.hive...

2019-01-18 19:00:44 3381

转载 hive原理

什么是Hive?       Hive是建立在 Hadoop 上的数据仓库基础构架。它提供了一系列的工具,可以用来进行数据提取转化加载(ETL),这是一种可以存储、查询和分析存储在 Hadoop 中的大规模数据的机制。Hive 定义了简单的类 SQL 查询语言,称为 HQL,它允许熟悉 SQL 的用户查询数据。同时,这个语言也允许熟悉 MapReduce 开发者的开发自定义的 mapper 和...

2019-01-16 20:16:18 127

转载 深入学习HBase架构原理

HBase定义        HBase 是一个高可靠、高性能、面向列、可伸缩的分布式存储系统,利用Hbase技术可在廉价PC Server上搭建 大规模结构化存储集群。    HBase 是Google Bigtable 的开源实现,与Google Bigtable 利用GFS作为其文件存储系统类似, HBase 利用Hadoop HDFS 作为其文件存储系统;Google 运行MapR...

2019-01-16 19:55:31 124

原创 flume使用方法

1.一个简单的例子1.写配置文件01localDir_local.flu#flume中一个基本单元式agent,可以有多个channel,多个sink#给代理起名称, 不需要声明直接使用#分布给a1代理下的source channel sink起一个名称#a1代理下sources有一个名为s1#如果有多个:a1.channels=c1 c2 c3sources = s1a1....

2019-01-16 17:17:54 530

转载 Oracle 正则表达式

Oracle中的正则表达式4个函数:  1. regexp_like  2. regexp_substr  3. regexp_instr  4. regexp_replace  regexp_like 只能用于条件表达式,和 like 类似,但是使用的正则表达式进行匹配,语法很简单:  regexp_substr 函数,和 substr 类似,用于拾取符合正则表达式描述的字符子串,语...

2019-01-16 15:06:12 141

原创 Hbase的wal机制

简介hbase是基于LSM树的存储系统,它使用日志文件和内存存储来的存储架构将随机写转换成顺序写,以此保证稳定的数据插入速率。而这里说的日志文件即是wal文件,用于在服务器崩溃后回滚还没持久化的数据。WAL(Write-Ahead-Log)预写日志是Hbase的RegionServer在处理数据插入和删除的过程中用来记录操作内容的一种日志。在每次Put、Delete等一条记录时,首先将...

2019-01-16 14:14:25 1730

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除