自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 资源 (3)
  • 收藏
  • 关注

原创 Atlas新增clickhouse类型(TYPE)并同步元数据

要想将clickhouse的元数据同步到Atlas中,首先需要定义clickhouse相关的类型(这里是参考了spark相关类型写的,具体属性可以根据自己公司实际情况进行调整,不一定所有属性都是有用的)},},},],"DataSet"],},},},},],],},},},},},},},},},},},],"DataSet"],},},},],},},},],},},},],"DataSet"],},},},},

2024-03-18 17:42:07 935

原创 记录hive/spark取最新且不为null的方法

比如采集同学对某一网站进行数据采集,同一个用户每天会有很多条记录,所以我们要取一条这个用户最新的状态,比如用户改了N次昵称,我们只想得到最后一次修改的结果,但是用窗口函数row_number按时间排序的话,可能最后一条某些字段没采集到,但是之前是有采集到的,所以应该在按时间倒序排的基础上,遇到null值,再往前取,直到所有字段尽可能取到最新的、不为null的值,最后存到表里。我们应该得到1,b,10,2023-12-01 00:04:00。

2023-12-08 16:15:29 707

原创 Apache Atlas高级搜索语法示例

from hive_table;hive_table from hive_table where name = 'xxx' or name = 'yyy' from hive_table where name = ["xxx", "yyy"] from hive_table where name LIKE '*_xxx' hive_db where name like "???dm?*" hive_column where table.name = "dim_zd

2023-06-21 17:22:53 937

原创 Apache Atlas产品调研

元数据是关于数据的数据,是为了描述数据的相关信息而存在的数据。元数据是用数据管理数据,是快速查找数据、精确定位数据、准确理解数据和有效使用数据的关键。元数据管理还须符合数据标准、较高的数据质量、数据安全、数据共享、合理顺滑管理流程。在存储、计算和人力成本合理可控、可管理的前提下,使数据价值得到最大发挥,是数据全生命周期管理重要组成部分,是提升数据价值发挥的前提,是数据治理的基石。

2023-06-20 15:31:05 1897

原创 Apache Superset产品调研

是一个开源的数据可视化和数据探索平台,它提供了一个用户友好的界面,可以轻松地创建和分享仪表板。它支持多种数据源,包括SQLAlchemy兼容的数据库、CSV文件、Apache Druid、Elasticsearch等。Apache Superset是一个基于Python编写的Web应用程序,使用Flask作为Web框架,使用React和Bootstrap作为前端UI库。后端使用SQLAlchemy进行数据库访问,支持多种关系型数据库。

2023-06-20 15:12:39 950

原创 hive根据分区动态插入数据 动态分区 hive表数据迁移

今天需要将一个分区表的数据(A)迁移到另一张表(B),两个表的字段不完全一样,但是分区一样,要求迁入到B表后,原来的数据还在原来的分区里,和原来一一对应,表结构如下:A:B:A表的分区:由于分区比较多,一个分区一个分区迁肯定不现实,所以需要用到动态分区下面是迁移sql: set hive.exec.dynamic.partition=true; --开启动态分区 set hive.exec.dynamic.partition.mode=nonstrict;--允许...

2020-11-11 20:15:24 1995 2

原创 系统登录页面短信验证码方式登录实现

近期公司有个需求,要求使用短信验证码登录,取代原来的图片验证码方式,在此记录一下我的实现方法,希望对你有所帮助公司需求:目前只有账号和验证码方式验证登录,按照公司网络安全统一部署,要求所有公网系统都需要动态双因子认证 改造方案:此ULR增加登录短信验证,取代验证码验证对于此需求,思路就是点了"发送验证码"按钮后,前台开始倒计时,后台随机生成一个6位数的验证码 记录一下当前的时间戳(用来校验验证码是否失效,根据业务情况的不同设置不同的失效时间,我这里是5分钟内有效),将发送的验证码和时间戳返回前

2020-07-13 16:04:42 6452

原创 HDFS架构-元数据分析

五.HDFS架构 大多数分布式大数据框架都是主从架构 HDFS也是主从架构Master|Slave或称为管理节点|工作节点 主叫NameNode,中文称“名称节点” 从叫DataNode,中文称“数据节点” 5.1 NameNode5.1.1 文件系统 file system文件系统:操作系统中负责管理文件、存储文件信息的软件 具体地说,它负责为用户创建文件,存入、读取、修改、转储、删除文件等 读文件 =&gt.

2020-07-01 18:19:36 1316

原创 安全漏洞之host头攻击漏洞

安全漏洞之host头攻击漏洞漏洞描述渗透测试人员发现,抓包修改host头,在返回包中的base标签中的值会随host值改变,说明存在host头攻击漏洞。漏洞建议建议使用SERVER_NAME而不是hostheader。脆弱性评价: 严重程度 高 ...

2020-03-27 20:05:22 5001

原创 安全漏洞之XSS跨站脚本执行漏洞

            XSS跨站脚本执行漏洞漏洞描述渗透测试人员发现,在实时营销策略管理中的策略编码和策略名称中填入<imgsrc=xonerror='alert(document.cookie)';>发现会显示cookie,抓包发现EVENT_ID,EVENT_NAME两个字段存在xss漏洞。漏洞建议对所有用户提交内容进行可靠的输入验证,包括对...

2020-03-27 19:55:05 761

原创 SHELL脚本通过sqlplus使用SPOOL将oracle里查询的数据写入到本地文件

今天遇到一个将oracle里查询的数据写入到本地文件的小需求,主要使用到了spool命令.spool的作用可以用一句话来描述:在sqlplus中用来保存或打印查询结果。做个记录,以便日后查询以下是代码:sqlplus -S "BJ_UCR_STA_SALE1/[email protected]:1526/wxwldb"<<! set echo off se...

2019-12-29 18:21:53 2858

原创 3DES实现前台JavaScript加密,后台Java解密

项目漏扫要求涉及到密码传输的页面对密码进行加密,下面是需求详情:1.需求:客户、客户经理、管理员登录页面的密码需要加密传输2.风险分析:程序在与服务器通信的过程中如果未做加密处理,数据可能被第三方截获,导致泄露隐私信息,服务器沦陷等风险3.加密方式:3DES,AES,RSA,MD5其中之一即可其中3DES和AES是对称加密算法,RSA是非对称加密算法,MD5是Hash加密算法,我选...

2019-12-14 14:22:19 313

转载 数据库SQL优化大总结之 百万级数据库优化方案

网上关于SQL优化的教程很多,但是比较杂乱。近日有空整理了一下,写出来跟大家分享一下,其中有错误和不足的地方,还请大家纠正补充。这篇文章我花费了大量的时间查找资料、修改、排版,希望大家阅读之后,感觉好的话推荐给更多的人,让更多的人看到、纠正以及补充。1.对查询进行优化,要尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。2.应尽量避免在 wh...

2019-06-18 18:10:51 125

原创 MYSQL重置密码 MySQL ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password:YES)

重置密码解决MySQL for Linux错误 ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)一般这个错误是由密码错误引起,解决的办法自然就是重置密码。假设我们使用的是root账户。1.重置密码的第一步就是跳过MySQL的密码认证过程,方法如下:#vim /etc...

2018-09-30 20:57:22 829

原创 java虚拟机运行时数据区

Java虚拟机 运行时数据区Java在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。这些区域都有各自的用途、创建和销毁的时间,有一些是随虚拟机的启动而创建,随虚拟机的退出而销毁,有些则是与线程一一对应,随线程的开始和结束而创建和销毁。Java虚拟机所管理的内存将会包括以下几个运行时数据区域 程序计数器(Program Counter Register)...

2018-09-19 21:18:22 90

转载 微服务,springBoot,SpringCloud

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/csolo/article/details/79982388在学习SpringCloud之前,先梳理一下基础知识,本章节的目标就是了解如下基础知识: 微服务 SpringCloud Springboot 最后通过搭建一个简单的Springboot 的 helloworld 结束本章。...

2018-09-19 19:16:23 134

转载 单例模式的五种写法:懒汉、饿汉、双重检验锁、静态内部类、枚举

单例模式算是设计模式中最容易理解,也是最容易手写代码的模式了吧。但是其中的坑却不少,所以也常作为面试题来考。本文主要对几种单例写法的整理,并分析其优缺点。很多都是一些老生常谈的问题,但如果你不知道如何创建一个线程安全的单例,不知道什么是双检锁,那这篇文章可能会帮助到你。懒汉式,线程不安全当被问到要实现一个单例模式时,很多人的第一反应是写出如下的代码,包括教科书上也是这样教我们的。pu...

2018-09-15 09:36:46 246

转载 Linux常用命令大全!非常全!!!

系统信息 arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) uname -r 显示正在使用的内核版本 dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI) hdparm -i /dev/hda 罗列一个磁盘的架构特性 hdparm -tT /dev/sda 在磁盘上执行测试性读取操作 cat /proc/cpuinfo 显示C...

2018-09-12 16:14:42 1247

原创 各种集合框架的总结ArrayList、LinkedList、Vector、HashMap、HashTable、HashSet、LinkedHaSet、TreeSet、ConcurrentHashMap

这几道Java集合框架面试题在面试中几乎必问 1.Arraylist 与 LinkedList 异同1. 线程安全: ArrayList 和 LinkedList 都是线程不安全的;2. 数据结构: Arraylist 底层使用的是Object数组;LinkedList 底层使用的是双向循环链表;3. 插入和删除是否受元素位置的影响: ① ArrayList 采用数组存储,所以插入和...

2018-09-11 21:55:09 1007

原创 关于多线程的最常见的面试题总结

如果不会这几道多线程基础题,请自觉面壁! 1.简述线程,程序、进程的基本概念。以及他们之间关系是什么?线程与进程相似,但线程是一个比进程更小的执行单位。一个进程在其执行的过程中可以产生多个线程。与进程不同的是同类的多个线程共享同一块内存空间和一组系统资源,所以系统在产生一个线程,或是在各个线程之间作切换工作时,负担要比进程小得多,也正因为如此,线程也被称为轻量级进程。程序是含有指令和...

2018-09-11 16:51:02 775

转载 深入理解Java的接口和抽象类

深入理解Java的接口和抽象类  对于面向对象编程来说,抽象是它的一大特征之一。在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类。这两者有太多相似的地方,又有太多不同的地方。很多人在初学的时候会以为它们可以随意互换使用,但是实际则不然。今天我们就一起来学习一下Java中的接口和抽象类。下面是本文的目录大纲:  一.抽象类  二.接口  三.抽象类和接口的区别  若...

2018-09-09 11:24:53 106

转载 JVM的内存区域划分

学过C语言的朋友都知道C编译器在划分内存区域的时候经常将管理的区域划分为数据段和代码段,数据段包括堆、栈以及静态数据区。那么在Java语言当中,内存又是如何划分的呢?  由于Java程序是交由JVM执行的,所以我们在谈Java内存区域划分的时候事实上是指JVM内存区域划分。在讨论JVM内存区域划分之前,先来看一下Java程序具体执行的过程:                         ...

2018-09-08 22:45:57 110

转载 java面试——mybatis 面试题

1、Xml映射文件中,除了常见的select|insert|updae|delete标签之外,还有哪些标签?还有很多其他的标签,&lt;resultMap&gt;、&lt;parameterMap&gt;、&lt;sql&gt;、&lt;include&gt;、&lt;selectKey&gt;,加上动态sql的9个标签,trim|where|set|foreach|if|choose|wh...

2018-09-08 22:04:19 713

转载 微服务

什么是微服务?微服务((Microservices Architecture)是一种架构风格,一个大型复杂软件应用由一个或多个微服务组成。系统中的各个微服务可被独立部署,各个微服务之间是松耦合的。每个微服务仅关注于完成一件任务并很好地完成该任务。在所有情况下,每个任务代表着一个小的业务能力。微服务的概念源于2014年3月Martin Fowler所写的章“Microservices”htt...

2018-09-08 18:26:13 155

转载 Spring中Bean的五个作用域

当通过Spring容器创建一个Bean实例时,不仅可以完成Bean实例的实例化,还可以为Bean指定特定的作用域。Spring支持如下5种作用域: singleton:单例模式,在整个Spring IoC容器中,使用singleton定义的Bean将只有一个实例 prototype:原型模式,每次通过容器的getBean方法获取prototype定义的Bean时,都将产生一个新的B...

2018-09-07 21:32:20 146

原创 equals和==的区别小结

equals和==的区别小结==:== 比较的是变量(栈)内存中存放的对象的(堆)内存地址,用来判断两个对象的地址是否相同,即是否是指相同一个对象。比较的是真正意义上的指针操作。1、比较的是操作符两端的操作数是否是同一个对象。2、两边的操作数必须是同一类型的(可以是父子类之间)才能编译通过。3、比较的是地址,如果是具体的阿拉伯数字的比较,值相等则为true,如:int a=10 ...

2018-09-07 19:47:15 127

转载 集成第三方支付的流程

 看一个典型的在线支付流程。第三方支付平台就是提供网上支付的平台,由第三方支付平台来和各个银行进行对接,商户只要和第三方支付平台对接即可,降低了商户的技术难度和接入门槛。常见的第三方支付平台:支付宝、网银在线、快钱、财付通、易宝等。    一个支付流程的数据流动:客户在网上商店挑选商品、点击支付,网站将用户重定向到第三方支付平台的支付网关,并且将订单号、金额等信息通过QueryString传递...

2018-09-02 10:54:31 3458

原创 PowerDesigner最基础的使用方法入门学习

PowerDesigner最基础的使用方法入门学习1:入门级使用PowerDesigner软件创建数据库(直接上图怎么创建,其他的概念知识可自行学习)我的PowerDesigner版本是16.5的,如若版本不一样,请自行参考学习即可。(打开软件即是此页面,可选择Create Model,也可以选择Do  Not  Show page Again,自行在打开软件后创建也可以!完全看个人的喜好...

2018-08-29 11:58:14 104

原创 使用springMVC无法进入controller方法,could not open ServletContext resource [/WEB-INF/applicationContext.xml]

Context initialization failed org.springframework.beans.factory.BeanDefinitionStoreException: IOException具体错误如下: 严重: Context initialization failedorg.springframework.beans.factory.BeanDefiniti...

2018-08-28 21:23:51 722

spark-atlas-connector-assembly-0.1.0-SNAPSHOT.jar

我们主要是使用Spark来进行离线数仓的开发,但是Atlas官方并没有提供对Spark的支持,目前调研了业内的一些方案,是有一些第三方的插件可以支持Spark的,比如spark-atlas-connector-assembly-0.1.0-SNAPSHOT.jar,但是并没有支持cache语法,本包可实现atlas对于spark cache语法的支持,使用方法同spark-atlas-connector-assembly-0.1.0-SNAPSHOT.jar

2023-06-20

salemanm.zip

问题描述:防止XSS跨站漏洞 改造:修改项目框架的web.xml文件,增加过滤器filter对请求进行拦截过滤; 检查lib目录下nanny-0.1.jar是否存在 部署完,需要重启bssframe

2020-03-27

salemanm.rar

问题描述:防止XSS跨站漏洞 改造:修改项目框架的web.xml文件,增加过滤器filter对请求进行拦截过滤,将jar包放在lib目录下重启项目即可;

2020-03-27

crypto-js-develop.zip

前端加密所需的js类库,包含各种加密方法,文件列表: crypto-js-develop, 0 , 2017-06-02 crypto-js-develop\.gitignore, 23 , 2017-06-02 crypto-js-develop\.jshintrc, 1036 , 2017-06-02 crypto-js-develop\CONTRIBUTING.md, 482 , 2017-06-02 crypto-js-develop\Gruntfile.js, 1133 , 2017-06-02 crypto-js-develop\LICENSE, 1169 , 2017-06-02 crypto-js-develop\README.md, 4010 , 2017-06-02 crypto-js-develop\docs, 0 , 2017-06-02 crypto-js-develop\docs\QuickStartGuide.wiki, 18085 , 2017-06-02 crypto-js-develop\grunt, 0 , 2017-06-02 crypto-js-develop\grunt\config, 0 , 2017-06-02 crypto-js-develop\grunt\config\clean.js, 107 , 2017-06-02 crypto-js-develop\grunt\config\copy.js, 362 , 2017-06-02 crypto-js-develop\grunt\config\jshint.js, 354 , 2017-06-02 crypto-js-develop\grunt\config\jsonlint.js, 259 , 2017-06-02 crypto-js-develop\grunt\config\modularize.js, 8622 , 2017-06-02 crypto-js-develop\grunt\config\update_json.js, 999 , 2017-06-02 crypto-js-develop\grunt\tasks, 0 , 2017-06-02 crypto-js-develop\grunt\tasks\modularize.js, 2325 , 2017-06-02 crypto-js-develop\package.json, 1143 , 2017-06-02 crypto-js-develop\src, 0 , 2017-06-02 crypto-js-develop\src\aes.js, 8157 , 2017-06-02 crypto-js-develop\src\cipher-core.js, 29262 , 2017-06-02 crypto-js-develop\src\core.js, 22209 , 2017-06-02 crypto-js-develop\src\enc-base64.js, 3570 , 2017-06-02 crypto-js-develop\src\enc-utf16.js, 3607 , 2017-06-02 crypto-js-develop\src\evpkdf.js, 3558 , 2017-06-02 crypto-js-develop\src\format-hex.js, 1410 , 2017-06-02 crypto-js-develop\src\hmac.js, 3666 , 2017-06-02 crypto-js-develop\src\lib-typedarrays.js, 1869 , 2017-06-02 crypto-js-develop\src\md5.js, 9092 , 2017-06-02 crypto-js-develop\src\mode-cfb.js, 1698 , 2017-06-02 crypto-js-develop\src\mode-ctr-gladman.js, 1899 , 2017-06-02 crypto-js-develop\src\mode-ctr.js, 1062 , 2017-06-02 crypto-js-develop\src\mode-ecb.js, 484 , 2017-06-02 crypto-js-develop\src\mode-ofb.js, 924 , 2017-06-02 crypto-js-develop\src\pad-ansix923.js, 854 , 2017-06-02 crypto-js-develop\src\pad-iso10126.js, 706 , 2017-06-02 crypto-js-develop\src\pad-iso97971.js, 505 , 2017-06-02 crypto-js-develop\src\pad-nopadding.js, 138 , 2017-06-02 crypto-js-develop\src\pad-zeropadding.js, 609 , 2017-06-02 crypto-js-develop\src\pbkdf2.js, 4125 , 2017-06-02 crypto-js-develop\src\rabbit-legacy.js, 6224 , 2017-06-02 crypto-js-develop\src\rabbit.js, 6195 , 2017-06-02 crypto-js-develop\src\rc4.js, 3081 , 2017-06-02 crypto-js-develop\src\ripemd160.js, 8812 , 2017-06-02 crypto-js-develop\src\sha1.js, 3722 , 2017-06-02 crypto-js-develop\src\sha224.js, 1521 , 2017-06-02 crypto-js-develop\src\sha256.js, 5206 , 2017-06-02 crypto-js-develop\src\sha3.js, 10236 , 2017-06-02 crypto-js-develop\src\sha384.js, 1833 , 2017-06-02 crypto-js-develop\src\sha512.js, 13077 , 2017-06-02 crypto-js-develop\src\tripledes.js, 23837 , 2017-06-02 crypto-js-develop\src\x64-core.js, 8562 , 2017-06-02 crypto-js-develop\test, 0 , 2017-06-02 crypto-js-develop\test\aes-profile.js, 1104 , 2017-06-02 crypto-js-develop\test\aes-test.js, 4997 , 2017-06-02 crypto-js-develop\test\cipher-test.js, 17242 , 2017-06-02 crypto-js-develop\test\des-profile.js, 1040 , 2017-06-02 crypto-js-develop\test\des-test.js, 6318 , 2017-06-02 crypto-js-develop\test\enc-base64-test.js, 3089 , 2017-06-02 crypto-js-develop\test\enc-hex-test.js, 475 , 2017-06-02 crypto-js-develop\test\enc-latin1-test.js, 503 , 2017-06-02 crypto-js-develop\test\enc-utf16-test.js, 2121 , 2017-06-02 crypto-js-develop\test\enc-utf8-test.js, 1445 , 2017-06-02 crypto-js-develop\test\evpkdf-profile.js, 326 , 2017-06-02 crypto-js-develop\test\evpkdf-test.js, 1375 , 2017-06-02 crypto-js-develop\test\format-openssl-test.js, 1795 , 2017-06-02 crypto-js-develop\test\hmac-md5-profile.js, 947 , 2017-06-02 crypto-js-develop\test\hmac-md5-test.js, 2662 , 2017-06-02 crypto-js-develop\test\hmac-sha224-test.js, 2812 , 2017-06-02 crypto-js-develop\test\hmac-sha256-test.js, 2852 , 2017-06-02 crypto-js-develop\test\hmac-sha384-test.js, 3012 , 2017-06-02 crypto-js-develop\test\hmac-sha512-test.js, 3172 , 2017-06-02 crypto-js-develop\test\kdf-openssl-test.js, 644 , 2017-06-02 crypto-js-develop\test\lib-base-test.js, 3132 , 2017-06-02 crypto-js-develop\test\lib-cipherparams-test.js, 2654 , 2017-06-02 crypto-js-develop\test\lib-passwordbasedcipher-test.js, 966 , 2017-06-02 crypto-js-develop\test\lib-serializablecipher-test.js, 2365 , 2017-06-02 crypto-js-develop\test\lib-typedarrays-test.js, 2249 , 2017-06-02 crypto-js-develop\test\lib-wordarray-test.js, 3303 , 2017-06-02 crypto-js-develop\test\md5-profile.js, 743 , 2017-06-02 crypto-js-develop\test\md5-test.js, 2772 , 2017-06-02 crypto-js-develop\test\mode-cbc-test.js, 2024 , 2017-06-02 crypto-js-develop\test\mode-cfb-test.js, 2103 , 2017-06-02 crypto-js-develop\test\mode-ctr-test.js, 2213 , 2017-06-02 crypto-js-develop\test\mode-ecb-test.js, 1484 , 2017-06-02 crypto-js-develop\test\mode-ofb-test.js, 2042 , 2017-06-02 crypto-js-develop\t

2019-12-14

空空如也

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

TA关注的人

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