自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(160)
  • 资源 (10)
  • 收藏
  • 关注

原创 构建基于docker的airflow并访问有kerberos认证的cdh集群

你没看错就是这个地方导致的,不能基于root安装,Ubuntu默认非root用户安教程一路起飞,centos一般都是root,一路各种掉坑,不然死活就是unhealthy,一查缺各种celery等各种依赖,但是用。,官网是入门的第一手好资料,虽说是官网,但大家环境各部相同,坑也是五花八门。进入pod查看,依赖都在,各种到头发,别问我是怎么知道的。可能需要用到的几个文件。

2023-04-20 22:22:32 784

原创 cdh集群元数据(mysql)kerberos账号及其权限分配查看方法

cdh集群通过sentry来管理kerberos账户权限SELECT sr.ROLE_NAME ,sdp.SERVER_NAME,sdp.DB_NAME ,sdp.TABLE_NAME,sdp.COLUMN_NAME,sdp.`ACTION` from sentry.SENTRY_DB_PRIVILEGE sdpinner join sentry.SENTRY_ROLE_DB_PRIVILEGE_MAP srdp on sdp.DB_PRIVILEGE_ID=srdp.DB_PRIVILEGE_I

2020-09-24 10:39:22 604

原创 deepin qq 图片无法显示问题

禁止掉ipv6在/etc/sysctl.conf中添加以下行:net.ipv6.conf.all.disable_ipv6 = 1net.ipv6.conf.default.disable_ipv6 = 1后需可能需要用ipv6,此处先做个笔记,免得到时候,改了啥都不知道!

2020-07-16 10:14:27 351

原创 structured streaming的checkpoint文件无限增长

目录structured streaming的checkpoint文件无限增长structured streaming的checkpoint文件无限增长原理和处理办法:https://www.waitingforcode.com/apache-spark-structured-streaming/checkpoint-storage-structured-streaming/read#will_it_grow_indifinetelyWill it grow indefinitely?No. Ap

2020-05-23 23:41:51 778

原创 大数据集群票据碰撞问题

kdc-kerberos 票据缓存在默认的/tmp/krb5cc_*这个文件,会导致有连个严重的问题:linux系统会定期删除/tmp,这回导致偶发性的票据验证失败问题;多用户并发执行任务的时候,票据会碰撞导致意外结果:shell: 设置环境变量export KRB5CCNAME=/home/keytab/krb5ccpython:改变缓存票据的存放路径#!/usr/b...

2020-03-27 00:15:35 1388

原创 Error in sasl_client_start (-4) SASL(-4): no mechanism available: No worthy mechs found

cdh或者hdp增加kerberos验证后,python链接大数据集群的调用都需要增加认证这一个环节:如下报错的解决方案:thriftpy.transport.TTransportException: TTransportException(type=1, message="Could not start SASL: b'Error in sasl_client_start (-4) SASL...

2020-02-24 17:10:45 3270 2

原创 streamsets自定义插件部署方案

自定义JDBC Producer部署方案目录1.背景简介2.部署步骤2.1 cm界面操作2.2上传驱动包2.3 上传插件2.4选择pipeline2.5 pipeline配置3.启动界面1.背景简介由于sdc缺少由kudu到mysql的upsert操作,前期通过spark-sql定制化开发了一套数据同步程序,但是由于spark-sql同步大量数据,效率十分低下,现基于sdc源码定制化了支持m...

2019-09-23 15:10:01 2128 1

原创 spark-sql实现Kudu同步数据到mysql

Kudu同步数据到mysql实施方案简介目前kudu导出到mysql没有比较好的方案,临时借助spark-sql进行数据导出,处理逻辑是会把老的数据给删除再导入,已经完成了生产环境的上线。需要传入的参数程序参数 参数序号 字段含义 备注 1 同步的source表(含schema),必选 ...

2019-09-17 22:37:14 1746 3

原创 日增百万级文件的实时采集的入坑出坑自强之路

写在前面的话填坑不容易,入坑需谨慎!!!流量数据数据是任何一家有志上市的科技公司不可能放弃的一个重点,但是对于好多公司而言,一本好好的经书,偏偏得歪着念,埋下一堆堪比定时炸弹的坑,后来入坑者后知后觉,从奔溃再到一点点的把坑填上,这就是一个程序员的自我修养吧! 怀着治病救人,普度众猿的慈悲之心,我把我的心酸泪贴出来,方便后来者,愿大家都活得更健康和谐....

2019-07-05 12:03:09 519 1

原创 snorkel调用spark的调试

前情提要机器学习的库和工具多种多样诸如tensorflow这样的神器,最近在做体系解决方案,由于众所周知的原因,很大一部分公司,在实际的场景中是把数据都汇集到 了hadoop体系中(特别是文本类型数据,包括结构化的和非结构化的(音视频提取特征后也是文本数据)),如何在hadoop中高效的进行各种机器学习任务的开发(分布式开发,当然tensorflow也支持分布式,但是与hadoop我暂时还不知道...

2019-01-16 10:44:18 693

原创 python连接hive--impyla

impyla安装连接hiveserv2的python的client端,可以提供impala、hive的使用功能。python2.7pip install thrift_sasl==0.2.1pip install thriftpip install sixpip install bit_arraypip install impylapython3.3+pip install t...

2018-11-14 13:47:27 1584

原创 spark源码剖析(1)

WordCount例子流程简介

2018-04-26 18:35:17 225

原创 windows10下关闭端口占用

windows10下关闭端口占用windows10下关闭端口占用占用查询端口的pid查询关闭对应pid很少用windows,但是本地开发一直都是windows系统,如果端口发生意外,没有被关闭,如下可解决。占用查询端口的pid查询C:\Users\helloworld>netstat -ano|findstr "9097" TCP 0.0.0....

2018-04-03 17:38:51 34476 3

原创 springboot+mybatis+druid+postgreSql案例

springboot+mybatis+druid+postgreSql/mysql 示例springboot+mybatis+druid+postgreSql/mysql 示例简介结构解析代码剖析entity层Dao层service层协助层启动简介最近加入一个新的团队,发现团队开发的底层调用时通过jdbctemplate拼凑sql,不能说这个不好,但...

2018-04-02 18:26:45 14906 1

原创 通过反射来实现懒加载

代码写多了,得总结和借鉴,这是在kafka源码中拷贝下来的,一个小技巧: 当时用的是jdk中的帮助类时,可以直接通过new关键字来实现, 但是当依赖的时外部的类时,最好通过反射来实现,也就是说,只有在调用这个方法时才会去加载这个类以及相关的依赖 // We should only have a runtime dependency on compression algorithms i

2018-01-16 15:23:39 674

原创 gradle构建工具构建web项目

越来越多的java项目通过gradle来构建,gradle比maven更加灵活,从github上拉下来的项目一堆都是通过gradle构建,不熟悉的化,会导致不小的麻烦,程序猿活到老学到老。 初始搭建项目 build.gradle如下:group 'cmcc.cn.org'version '1.0-SNAPSHOT'apply plugin: 'java'apply plugin

2018-01-12 10:18:38 583

原创 深入java重载和重写的内幕

重载Method Overload Resolution,也称Dispath,国内一般翻译为“静态分派”,但是严格来说,一般很少用再静态环境中。静态类方法中的演示package jdbc.test.es;/** * 方法静态分派演示 * @author Administrator * */public class MyStaticTest { static abstract clas

2017-11-21 17:17:53 387

原创 elasticsearch选择器聚合,分组返回聚合结果

package tianjun.cmcc.es;import java.net.InetAddress;import java.net.UnknownHostException;import java.util.Map;import java.util.concurrent.ConcurrentHashMap;import org.apache.log4j.Logger;import org

2017-11-20 15:21:50 8356

原创 线程池技术简单实现

如上一篇数据库链接池看到,由于没有使用线程池技术,需要频繁的创建和销毁线程,这无疑十分消耗和浪费系统的资源,正式基于这个,我们可以探索,摸索线程池的原理,自己建立个简单的demo来解惑。

2017-11-04 13:35:25 366

原创 数据库链接池模型实现--多线程(非线程池)版

链接池的实现##package chapter04.connection_pool.no_thread_pool;import java.sql.Connection;import java.util.LinkedList;/** * Created by tianjun on 2017/11/4. */public class ConnectionPool { private Li

2017-11-04 13:26:59 354

原创 hadoop2.7.4源码编译/eclipse源码编译及踩坑记录

最终效果图概览编译过程首先需要把源码包里的building.txt认真的看一遍,这里有教你如何直接编译(window或者linux版)也有教你如何编译导入eclipse中。 我在这里犯下的错误,就是没有认真吧这个看完,在网上找里若干技术博客,就开始编译了,后面才有了一系列的问题接踵而来…… 请看这几段及其重要的地方:第一步: 第一段为hadoop编译的必须安装环境,这些常见软件的安装,有需直接

2017-10-13 12:09:24 2040

原创 python连接hive读取数据并编辑相应excle进行发送

前情提要shell脚本操作excle,难度很大,我没有去试验,但是用python搞定了,python连接hive是通过pyhs2客户端(hive官网hiveServe2的安装这一节,python客户端推荐的就是pyhs2),pyhs2四五年之前就停止维护了,git上会推荐你使用pyhive的,这个我用了下,跑复杂的sql报错,没深入研究,就还是用pyhs2,毕竟他是调用hiveServer2来执行任

2017-09-28 20:14:58 4540 4

原创 java之nio(1)

nio服务端时序流程 大概步骤如下: 1.打开ServerSocketChannel,用于监听客户端的链接,它是所有客户端连接的父管道; 2.绑定监听端口,设置为非阻塞模式; 3.创建Reactor线程,创建多路复用器并启动线程; 4.将ServerSocketChannel注册到Reactor线程的多路复用器Selector上,监听ACCEPT事件; 5.多路复用器在线程run方法的无

2017-09-11 18:56:06 306

原创 spark(5)--spark模型中FIFO的实现

pom文件的配置<?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="http://mave

2017-08-22 21:14:40 385

原创 spark(5)--scala之actor模型

Actor方法执行顺序Scala在2.11.x版本中将Akka加入其中,作为其默认的Actor,老版本的Actor已经废弃 1.首先调用start()方法启动Actor 2.调用start()方法后其act()方法会被执行 3.向Actor发送消息发送消息的方式! 发送异步消息,没有返回值。 !? 发送同步消息,等待返回值。 !! 发送异步消息,返回值是 Future[Any]。d

2017-08-07 16:08:44 896

原创 spark(4)--scala入门扫盲(2)

样例类在Scala中样例类是一中特殊的类,可用于模式匹配。case class是多例的,后面要跟构造参数,case object是单例的import scala.util.Randomcase class SubmitTask(id: String, name: String)case class HeartBeat(time: Long)case object CheckTimeOutTask

2017-08-07 15:37:43 376

原创 cdh5.9添加sparksql cli直接操作hive

由于项目需要,需要在cloudera的spark中直接用sparksql操作hive,但是cloudera的spark中没有sparksql cli(也就是没有spark-sql命令),有关解决方案网上比较多。cloudera的安装参照这篇博客基本上就可以离线安装好cloudera 我在自己笔记本的虚拟机上装了一天半的时间,最后还是部分框架没有安装成功,总结的经验就是cloudera通过cm来安装

2017-07-12 18:39:36 4828

原创 spark入门(4)----scala扫盲(1)

scala方法和函数区别注意:方法的返回值类型可以不写,编译器可以自动推断出来,但是对于递归函数,必须指定返回类型 //定义方法 def m2(f:(Int,Int)=>Int) = f(2,6) //定义函数 val f2 = (x:Int,y:Int) => x-y val a = m2(f2) println("the result is: "+a)

2017-06-23 16:09:27 2122

原创 logstash系列(1)

111

2017-04-05 16:15:09 656

原创 hive系列(4)--级联求和

一、业务需求已有表: 输出表:

2017-03-30 10:15:25 3672

原创 hive系列(3)---Transform

通过(2)可以看到自定义的udf使用起来还是不是很方便的,Hive的 TRANSFORM 关键字提供了在SQL中调用自写脚本的功能 适合实现Hive中没有的功能又不想写UDF的情况。一、文件的采集json文件的上传 1、建表hive> create table t_json(line string) > row format delimited;2、上传文件load data local

2017-03-21 20:27:57 703

原创 hive系列(2)---自定义函数UDF

一、自定义UDF在hql中可以满足大部分的需求,但是可能还有部分特定的业务需要自己自定义函数来实现,下面来模拟实现: 1、表的建立: t_p0: jdbc:hive2://mini01:10000> desc t_p;+-----------+------------+----------+--+| col_name | data_type | comment |+---------

2017-03-21 20:26:54 709

原创 hive系列(1)

一、概述理解下hive整体流程: 二、Hive的数据存储1、Hive中所有的数据都存储在 HDFS 中,没有专门的数据存储格式(可支持Text,SequenceFile,ParquetFile,RCFILE等) 2、只需要在创建表的时候告诉 Hive 数据中的列分隔符和行分隔符,Hive 就可以解析数据。 3、Hive 中包含以下数据模型:DB、Table,External Table,Par

2017-03-21 11:28:52 890

原创 mapreduce系列(10)--自定义Inputformat

123

2017-03-20 19:42:46 1169 1

原创 mapreduce系列(9)--自定义OutputFormat

111111

2017-03-20 17:28:10 403

原创 mapreduce系列(8)--自定义GroupingComparator

一、概述GroupingComparator是在reduce阶段分组来使用的,由于reduce阶段,如果key相同的一组,只取第一个key作为key,迭代所有的values。如果reduce的key是自定义的bean,我们只需要bean里面的摸个属性相同就认为这样的key是相同的,这是我们就需要之定义GroupCoparator来“欺骗”reduce了。我们需要理清楚的还有map阶段你的几个自定

2017-03-20 15:59:21 2672

原创 mapreduce系列(7)--查找共同好友

一、概述A:B,C,D,F,E,OB:A,C,E,KC:F,A,D,ID:A,E,F,LE:B,C,D,M,LF:A,B,C,D,E,O,MG:A,C,D,E,FH:A,C,D,E,OI:A,OJ:B,OK:A,C,DL:D,E,FM:E,F,GO:A,H,I,J求出哪些人两两之间有共同好友,及他俩的共同好友都是谁 比如:a-b : c ,e

2017-03-20 14:32:44 5263 2

原创 mapreduce系列(6)---倒排索引的建立

一、概述如我们有三个文件: a.txt,b.txt,c.txttian junli leihan meimeili leihan meimeili leihan meimeitian jungegejiejietian jungegejiejiegegejiejiehan meimeitian junhan meimeitian jun统计出没个词在每篇文章中出现的

2017-03-20 14:21:22 662

原创 maprecuce系列(5)——map端join算法实现

一、概述在(4)中我们很快的实现了join的功能,但是在实际的生产中,会有一个严重的问题,由于数据量比较大,最后的分区比如都根据hashpartion来处理,就会导致数据的倾斜,有的reduceTask就会工作量太大,有的工作量就会太小,其实,我们可以看到,maptask阶段的任务分配其实还是比较均匀的,所以如果能在map阶段,把所有的工作都给处理掉就好了,这样我们就会想到缓存,数据量不大的一张表缓

2017-03-19 22:37:23 540

原创 maprecuce系列(4)——reduce端join算法实现

一、需求1、如下订单表:id、date、pid、amount1001,20160710,P0001,21002,20160710,P0001,31002,20170710,P0002,31001,20160710,P0001,21002,20140710,P0003,31003,20150710,P0002,32、如下商品信息表:id,panme,category_id,priceP000

2017-03-19 22:30:19 603

WPF_usbPiano钢琴

基于MIDI键盘开发的钢琴软件

2015-06-04

高一凡数据结构源码

高一凡数据结构源码 高一凡数据结构源码 高一凡数据结构源码

2015-06-04

高一凡数据结构

严奶奶数据结构具体实现高一凡清晰版,清华版数据结构,十分有必要

2015-06-04

MSChart控件的使用说明

c#中的常见图表的开发,在asp.net,WPF,Winform中用的比较多的,不用你自己写代码实现,节约你不少时间只关心业务逻辑而不关心这个图表要如何去实现

2014-03-10

C# 读取USB外设消息(MIDI为例)

首先我们得了解在windows系统中获取消息的方式,我们不管搞不搞底层编程肯定都知道驱动这个概念(如果不知道百度或者谷歌去)外设的消息首先是发送到发现它的驱动上去,我们利用Windows API从驱动中把消息取出来就可以了,首先肯定我们想到的是去写个驱动,这个很对,但是如果你对通信或者是底层编程没啥基础,还是不要去浪费时间了,万幸的是万恶的微软一般的常用的工种USB的驱动都集成着有,所以不用去太话费时间了,我们只需要利用API读取就行了。

2013-11-19

c# USB外设消息的读取(MIDI为例)

首先我们得了解在windows系统中获取消息的方式,我们不管搞不搞底层编程肯定都知道驱动这个概念(如果不知道百度或者谷歌去)外设的消息首先是发送到发现它的驱动上去,我们利用Windows API从驱动中把消息取出来就可以了,首先肯定我们想到的是去写个驱动,这个很对,但是如果你对通信或者是底层编程没啥基础,还是不要去浪费时间了,万幸的是万恶的微软一般的常用的工种USB的驱动都集成着有,所以不用去太话费时间了,我们只需要利用API读取就行了。

2013-11-19

基于vc++的邮件收发系统论文

电子邮件系统的工作原理及相关协议,并基于这些协议设计和开发了一个实用的邮件收发系统。用户运行软件后可以进行基本操作,邮件管理(邮件发送和邮件接收),用户管理(查询邮件和修改,查询、删除用户),用户可以发送或接收一个或多个带附件的邮件,也可以使用不同的SMTP或POP3服务器。

2013-04-24

基于VC++的邮件收发系统

电子邮件系统的工作原理及相关协议,并基于这些协议设计和开发了一个实用的邮件收发系统。用户运行软件后可以进行基本操作,邮件管理(邮件发送和邮件接收),用户管理(查询邮件和修改,查询、删除用户),用户可以发送或接收一个或多个带附件的邮件,也可以使用不同的SMTP或POP3服务器。

2013-04-24

GUN Make中文手册

linux学习和编程必备的基础知识,无论是在linux还是在Unix环境中,make都是一个非常重要的编译命令。不管是自己进行项目开发还是安装应用软件,我们都经常要用到make或make install。

2013-04-24

空空如也

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

TA关注的人

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