自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(91)
  • 收藏
  • 关注

原创 【python代码实现行转列】

python代码实现行转列

2022-08-23 10:08:55 3024 1

原创 pyspark数据保存报错

an error occurred while calling o105 savaAsTable; unable to infer schema for orc. it must be specified manually.;

2022-04-25 08:52:09 1001

原创 【spark sql mapjoin BROADCAST】

在hive中开启mapjoin(大表join小表)直接在sql查询时添加参数/+ mapjoin(smalltable)/具体如下-- hive sqlselect /*+ mapjoin(b)*/ a.*from big_table ajoin small_table bon a.id=b.id在spark的sql中开启mapjoin / BROADCAST-- spark sqlselect /*+ BROADCAST(b)*/ a.*from big_table a

2022-04-06 14:43:19 1746 1

原创 es聚合dsl语句

过滤{ "query":{ "bool":{ "must":[ { "range":{ "dttime":{ -- 按照dttime字段过滤时间 "gte":"2022-02-01T00:00:00.116+08:00", "lt":"2022-03-01T00:00:00.116+08:00" } } }, { "match":{ "user_id":"0001dd" --

2022-03-25 11:45:46 2641

原创 pyspark 使用广播变量进行大表和小表join

pyspark 大表和小表join,使用广播变量,并对广播变量更新from pyspark import SparkConf, SparkContext, SQLContext# import org.apache.spark.sql.functions.broadcast# 给定节点,根据其信息进行扩展,找到各个层级扩展的节点。# df_edges_all:全部的交易关系(边)[source,target,xxx,xx],loop_nodes:[nodes],loop_num :循环次数, sq

2021-08-18 18:10:19 1452

原创 mysql分组后取每个分组的最新一条数据

mysql分组后取每个分组的最新一条数据,排序前 必须使用having 1,否则结果是不对的。如下: 先将轨迹表按照开始时间降序排序,然后分组得到每个分组中的最新的轨迹select *from (select * from guiji having 1 order by kssj desc) tmp group by xm...

2021-03-26 16:08:49 1368 1

原创 kettle修改临时文件存放目录

kettle在排序等操作时,会产生很多临时日志文件,这些文件默认是再C盘中,C盘的空间较小时,长时间不清理回导致C盘堆满,导致脚本运行。可以通过修改spoon.bat 中的参数,在下图中增加 "-Djava.io.tmpdir=文件路径"修改默认的临时文件目录...

2021-02-05 16:50:24 2881

转载 mysql 快速导入大SQL文件

mysql 快速导入大SQL文件进入mysqlmysql -u root -p创建数据库CREATE DATABASE 数据库名;设置参数set sql_log_bin=OFF;//关闭日志set autocommit=0;//关闭autocommit自动提交模式使用数据库use 数据库名;开启事务START TRANSACTION;引入SQL文件source 文件的路径;成功后事务提交COMMIT; ...

2020-11-18 17:00:34 157

原创 mysql启动后自动关闭

通过查看data目录的错误日志发现Version: '5.5.45' socket: '' port: 3306 MySQL Community Server (GPL)160422 5:50:29 InnoDB: Unable to allocate memory of size 1065024.160422 5:50:29 InnoDB: Assertion failure in thread 4256 in file mem0mem.c line 361InnoDB: We int

2020-08-01 19:33:46 1175

原创 kettle分页抽取大数据量插入到表中

需求:将Oracle数据库中某张表历史数据导入MySQL的一张表里面。源表(Oracle):table1目标表(MySQL):table2数据量:20,000,000思路:由于服务器内存资源有限,所以,无法使用Kettle一次性从源表导入目标表千万级别的数据,考虑采用分页导入的方式来进行数据传输,即:根据实际情况设置一个每次处理的数据量,比如:5,000条,然后根据总的数据条数和每次处理的数据量计算出一共分几页,假设总数据量有:20,000,000,所以页数为:20,000,000/5,00

2020-08-01 16:26:17 1277 3

原创 mysql数据迁移及主从复制

需求描述,将192.168.1.30的生产环境的数据库进行备份,备份到192.168.1.31上方法:采用主从复制,且设置从数据库备份延迟为2小时,在正式环境有问题时,使数据丢失较少。先进行配置,然后主从复制时,应当原来的数据先迁移到到1.31上,然后再进行主从复制。1、 主从复制配置1)主数据库配置编辑/etc/my.cnf文件,添加下面两行log-bin=mysql-bin # 非...

2020-02-24 12:27:36 720 1

原创 spark读写hbase中的数据

spark读取hbase中的数据import org.apache.hadoop.hbase.HBaseConfigurationimport org.apache.hadoop.hbase.client.Resultimport org.apache.hadoop.hbase.io.ImmutableBytesWritableimport org.apache.hadoop.hbase....

2019-01-25 10:08:17 283

原创 spark的shuffle过程

上一篇写了shuffle的几种机制, 这一篇就介绍一下shuffle拉去数据的过程和executor的内存管理1、map task处理完数据溢写到本地磁盘后,会将数据结果和落地磁盘文件的位置封装成MapStatus对象中,通过MapoutputTrackerWorker会向Driver端的MapoutputTrackerMaster,Driver端就掌握了磁盘小文件的位置。2、reduce t...

2019-01-20 13:07:28 545

原创 spark的HashShuffleManager、SortShuffleManager、钨丝ShuffleManager

1、shuffle分类spark的shuffle机制可以分为3类,分别是HashShuffleManager、SortShuffleManager、tungsten-sortShuffleManager(钨丝ShuffleManager),下面对着几种shuffle机制进行详细的介绍2、HashShuffleManager普通的HashShuffleManagerHashShuffleMa...

2019-01-19 21:30:50 1179

转载 hbase为什么快

因为Hbase属于NoSQL,非关系型数据库,所以会经常拿来和关系型数据库做对比。面试的时候也会问到为何Hbase的速度快或者为什么选择Hbase作为数据库存储。下面的文章是转发的,对于上述问题的回答有一定的参考意义。仅供参考。HBase能提供实时计算服务主要原因是由其架构和底层的数据结构决定的,即由LSM-Tree(Log-Structured Merge-Tree) + HTable(reg...

2019-01-18 13:15:21 1003 3

原创 朴素贝叶斯算法,对男女分类

使用朴素贝叶斯算法进行男女分类训练模型,并进行保存原数据:maven 依赖<dependencies> <!-- 导入spark sql的依赖 --> <dependency> <groupId>org.apache.spark&

2019-01-15 15:58:09 1020

原创 启动spark报错

再启动spark时报错:Caused by: org.datanucleus.exceptions.NucleusException: Attempt to invoke the “DBCP” plugin to create a ConnectionPool gave an error : The specified datastore driver (“com.mysql.jdbc.Driv...

2019-01-12 21:21:23 529

原创 hive on spark编程

hive的底层实现是MapReduce,而hive on spark 是把底层执行替换成spark,速度会比使用 MapReduce快把这些文件 hive-site.xml, core-site.xml 和 hdfs-site.xml 放到 resource中maven依赖 <properties> <maven.compiler.source>1.7...

2019-01-12 20:15:50 256

原创 flink和spark使用Scala编程的代码的对比

Flink():实时性高,吞吐量高,离线+实时算子较为丰富Spark Streaming():有延迟(毫秒级别),吞吐量高,离线+实时算子丰富,可以做机器学习,图计算(生态圈)flink的批处理实际上流处理,只是把一个批处理当作是一个大的流,而spark的实时实际上时批处理,是极小的批次,比如说把1秒的一个批次进行一次处理,可以看作是流处理,但是会有延迟Spark做实时计算,原来是一...

2019-01-12 16:03:45 2145

原创 java向配置文件中传参

有时候在写配置文件时,可能需要我们进行动态的传参,可以采用下面的方法:配置文件,{0}是传的第一参数,{1}是传的第二个参数jdbc.url=jdbc:mysql://{0}:3306/{1}// 这里谢了加载配置文件的两种方法import com.typesafe.config.Config;import com.typesafe.config.ConfigFactory;impo...

2019-01-11 20:03:20 1193 1

原创 Kmeans算法聚类算法

聚类算法:KMEANS原理介绍一、 聚类介绍聚类分析是一个无监督学习过程,一般是用来对数据对象按照其特征属性进行分组,经常被应用在客户分群、欺诈检测、图像分析等领域。K-means应该是最有名并且最经常使用的聚类算法。二、 算法介绍KMeans算法的基本思想是初始随机给定K个簇中心,按照最邻近原则把待分类样本点分到各个簇,然后按照平均法重新计算各个簇的质心,从而确定簇心,一直迭代,知道簇心...

2019-01-06 20:06:21 3349

原创 maven导入依赖后在代码中使用不了

在使用maven导入依赖时出现一个问题,在导入依赖成功后,去程序中引入jar包,发现导不进去,但是在External Libraries中有确实可以看到jar包已经导入了,在External Libraries里面确实有我想要使用的jar包,在网上搜了一些解决方法都是说重启或是重新加载,但是都没有起作用。在中有一句 <scope>runtime</scope>,因为是从m...

2019-01-06 15:56:16 6627 1

原创 scala中的迭代器【Iterator】

遇到一个坑,我在使用spark-core时,使用了foreachPartition方法,程序如下使用foreachPartition进行往redis中存值,对里面的Iterator使用了map方法,但是并没有存进去,换成foreach方法可以 val conf = new SparkConf().setAppName(this.getClass.getName).setMaster("loca...

2019-01-03 22:44:49 1093 3

原创 TF-IDF学习

Tf-idf特征抽取:从原始数据中抽取特征Tf-idf:词频-逆向文件频率。是一种在文本挖掘中广泛使用的特征向量化方法,它可以提现一个文档中词语在语料库中的重要程度词语:用t表示文档:用d表示语料库:用D表示词频TF(t,d): 词语t在文档中出现的次数的频率, HashingTF 是一个Transformer,在文本处理中,接收词条的集合然后把这些集合转化成固定长度的特征向量。这个算...

2019-01-03 16:18:45 480

原创 封装输入输出流,封装对象池

装饰者模式封装对象流import org.apache.hadoop.fs.FSDataOutputStream;import java.io.IOException;/** *装饰流 */public class MyFSDataOutputStream extends FSDataOutputStream{ private String path ; priva...

2019-01-03 15:19:55 377

原创 mahout之推荐算法

我们知道mahout的算法分为三大类:分类、聚类、推荐算法,这一篇博客就简单介绍一下推荐算法。我们可以通过推荐算法可以向客户推荐商品,根据该用户对某些商品的打分,可以找到与他有相似品味和审美的人群,再根据这些人群进行分析,推荐出商品举一个小例子如下,进行具体分析数据准备:第一个字段是userId, 第二个字段是商品ID,第三个是评分1,00,11,01,21,02,51,03,5...

2019-01-01 14:11:18 1261 2

原创 flume之自定义拦截器

在flume接收数据时,有时候数据很杂乱,可以通过自定义拦截器,对数据进行拦截或者处理,这样就可以简单的对数据进行数据清洗了,下面是一个自定义的拦截器,把数据通过拦截器变成json格式的数据在定义拦截器时可以参数官方给定的拦截器进行编写,比如TimestampInterceptorimport com.alibaba.fastjson.JSONObject;import org.apache...

2018-12-23 21:48:02 1152 1

原创 对于kafkachannel的使用

flume的一个agent包括source、channel、sink,但是有时候其实可以不需要source或者是sink,比如在使用flume时,把flume监控的日志发送到kafka中,可以不用使用sink,把channel定义为kafkachannel,kafkachannel作为生产者,直接把数据生产到kafka中,或者使用flume监控kafka中的数据,把数据发送到其他地方,可以不使用...

2018-12-23 19:27:43 5483 3

原创 flume自定义source

一、在使用flume采集日志时,可以通过flume进行监控某一个文件把生产的数据传输给指定的sink,但是有时使用官方给的source不能解决我们的需求或者有一些缺点,就比如日志收集,source是exec类型,通过tail -F 进行监控,但是如果某段时间flume所在机器宕机了,那么当重新启动后,在去监控时,会导致有数据丢失,不是接着上一次的数据继续进行读取,因此针对这种情况时可能需要我...

2018-12-23 16:33:24 743

原创 记录kafkachannel遇到的坑

在使用kafkachannel时,启动flume报错 org.apache.flume.conf.ConfigurationException: Broker List must be specified原因是我使用的flume的版本是1.5.0的,kafka是kafka_2.11-0.11.0.2,kafka使用的是新版,而flume使用的比较老,在定义broker时,flume新老版...

2018-12-23 16:00:41 2700 1

原创 kafka直接对接nginx

很多时候我们要对nginx产生的日志进行分析都是通过flume监控nginx产生的日志,通过flume把日志文件发送该kafka,flume作为生产者,但是这种方式的缺点就是可能效率会比较慢,除此之外还可以使用kafka直接对接nginx,nginx作为生产者,把log日志直接对接到kafka的某些分区中,这种方法的效率比较高,但是缺点就是可能会出现数据丢失,可以通过把nginx的日志进行一份给...

2018-12-22 16:12:36 3857 1

原创 kafka javaAPI 手动维护偏移量

kafka javaAPI 手动维护偏移量package com.kafka;import kafka.javaapi.PartitionMetadata;import kafka.javaapi.consumer.SimpleConsumer;import org.apache.kafka.clients.consumer.ConsumerRecord;import org.apac...

2018-12-18 22:27:43 3462

原创 fastJson处理json套json的字符串

处理json套json的字符串,使用fastjson,先把字符串解析成 jsonObject对象,然后取entrySet,然后遍历entrySet,得出每个 value的值, value的值是一个json字符串,在把用 JSON 解析成JSONObject对象,一次类推可以把json里套json的字符串进行解析maven依赖: <dependency> ...

2018-12-18 22:18:36 2066

原创 hbase的热点问题

需求描述:扫描(查询)某个区间—》列用hbase多节点的资源,分布式扫描,加快速度==》 然后拼接到一起 如何打散数据 冠字号逆序,hash并不一定数据连续就会造成热点,这个是由数据访问模式决定的。ex:时间作为rowkey,但查询经常按一个时间段来查询=====》 时间作为rowkey会造成时间差不多的在一个region,这就会造成region server 压力大,=》形成热点...

2018-12-16 23:01:41 250

原创 hive与hbase关联

hive和hbase进行关联,将hbase中的和hive中的表进行关联1、把hive下的hive-hbase-handler-0.13.1-cdh5.3.6.jar包放到hbase的lib下,并修改hive-site.xml文件<property><name>hive.zookeeper.quorum</name><value>linu...

2018-12-11 08:22:23 674

原创 把MapReduce的结果存到多张MySQL表中(通过自定义OutputFormat)

在使用MapReduce对hbase中的数据进行分析时,通过编写MapReduce程序,对数据进行分析,当我使用MapReduce进行分析后的结果存储到mysql等关系型数据库。在对hbase中的数据仅分析时,要求算出每人每年的通话时长,每月的通过时常,每天的通话时常,和通话次数,是通过一个MapReduce进行编写的,然后当想要把数据存储到3张表时,遇到了困难,以前存一张表时都是使用的D...

2018-12-07 22:16:06 729

原创 对Hbase进行MapReduce后将结果保存到MySQL中,MapReduce从MySQL中读取数据并把数据存储到hbase中

使用Mapreduce处理hbase的数据,并将数据存储到MySQL中1、首先先定义一个类,这里面的字段要和你的mysql数据库中的表的字段相对应package com.hbase2mysql;import org.apache.hadoop.io.Writable;import org.apache.hadoop.io.WritableComparable;import org.ap...

2018-12-07 20:11:18 1190 1

原创 kafka在生产数据时指定分区,生产数据时带有回调函数

kafka 在生产数据时指定 分区,生产数据时带有回调函数1、配置文件#此处是broker的地址bootstrap.servers=bigdata01:9092,bigdata02:9092,bigdata03:9092acks=allretries=0batch.size= 16384linger.ms=1buffer.memory=33554432key.serializer...

2018-12-06 20:01:15 4516

原创 nginx的入门

Nginx是一个http服务器。是一个使用c语言开发的高性能的http服务器及反向代理服务器。Nginx是一款高性能的http 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。由俄罗斯的程序设计师Igor Sysoev所开发,官方测试nginx能够支支撑5万并发链接,并且cpu、内存等资源消耗却非常低,运行非常稳定。一、使用场景1、 http服务器。Nginx是一个h...

2018-12-05 22:31:58 229

原创 java api操作hbase时遇到的问题

使用JavaAPI,java连接Hbasehbase卡着不动了<span style="color:#ff0000">log4j:WARN No appenders could be found for logger (org.apache.hadoop.security.Groups).log4j:WARN Please initialize the log4j system...

2018-12-04 17:15:37 1589 1

空空如也

空空如也

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

TA关注的人

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