- 博客(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关注的人
RSS订阅