- 博客(47)
- 资源 (3)
- 收藏
- 关注
原创 Mysql 日常命令记录
方式一:SELECT * FROM information_schema.INNODB_TRX;trx_mysql_thread_id :线程ID。show engine innodb status 来查看简略信息或者开死锁日志。方式二:SHOW FULL PROCESSLIST;找到被锁住的线程ID。根据id,kill掉被锁住的线程:kill 65。
2023-10-12 09:08:06
365
原创 Hive transform + python
hive 除了用UDF 这种自定义函数来处理数据,还可以使用 transform + python记录一下:如:使用 transform+python 的方式去转换 unixtime 为 weekday########python######代码## vi weekday_mapper.py#!/bin/pythonimport sysimport datetimefor line in sys.stdin:line = line.strip()movie,rate,unix...
2021-07-05 14:58:57
431
原创 Hive 解析多字节分隔符的Serde
movies.dat 数据格式为: 2::Jumanji (1995)::Adventure|Children's|Fantasy,hive 正常默认是不支持多字节分隔符的,例如: 支持这种':' 不支持 这种 '::'如果需要加载上面的以::分割的数据到hive 表,那么需要用到能解析多字节分隔符的Serde即可使用RegexSerde需要两个参数:input.regex = "(.*)::(.*)::(.*)"output.format.string ...
2021-07-05 14:51:25
300
原创 Hive中日期处理函数的使用
Hive中日期处理函数根据平时项目中使用的日期函数,进行简单的总结:date_format:将日期进行格式化 date_add:对当前日期增加天数 date_sub:对当前日期减少天数 next_day:取当前日期的下一个周几 last_day:当前日期的最后一天...
2021-03-03 09:46:43
619
转载 堆排序
预备知识堆排序 堆排序是利用堆这种数据结构而设计的一种排序算法,堆排序是一种选择排序,它的最坏,最好,平均时间复杂度均为O(nlogn),它也是不稳定排序。首先简单了解下堆结构。堆 堆是具有以下性质的完全二叉树:每个结点的值都大于或等于其左右孩子结点的值,称为大顶堆;或者每个结点的值都小于或等于其左右孩子结点的值,称为小顶堆。如下图:同时,我们对堆中的结点按层进行编号,...
2020-01-02 15:13:55
131
原创 error: failed to push some refs to 'https://github.com/........git'
情景:git push本地库提交更新至远程仓库,远程库与本地库不一致详情如下:运行如下命令解决:1. 把远程库中的更新合并到本地库中,--rebase:表示取消掉本地库中刚刚的commit的内容,并把它追加到更新后的版本库 之中。命令如下: git pull --rebase origin master2. 再次提交上传 git ...
2019-11-28 23:22:43
162
原创 FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask错误的解决办法(图文详解)
hbase迁移数据到hive中hive创建表关联hbase表时报错CREATE EXTERNAL TABLE test01(key string,name string,age string,sex string)STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'WITH SERDEPROPERTIE...
2019-11-23 17:18:53
7139
原创 Algorithm-Valid Phone Numbers
Given a text filefile.txtthat contains list of phone numbers (one per line), write a one liner bash script to print all valid phone numbers.You may assume that a valid phone number must appear in ...
2019-11-22 20:01:24
128
原创 QJM With HDFS-HA Configuration details
目的 总结HDFS-HA实施步骤及细节(概述HDFS高可用性(HA)功能以及如何使用Quorum Journal Manager(QJM)功能配置和管理HA HDFS群集)背景在Hadoop 2.0.0之前,NameNode是HDFS集群中的单点故障(SPOF)。每个群集只有一个NameNode,并且如果该计算机或进程不可用,则整个群集将不可用,直到NameNode重新启动或...
2019-11-08 19:51:14
190
1
转载 Hadoop 配置集群之间SSH无密码登陆
配置免登录Ø创建或者修改密钥目录权限假设本机的IP为“192.168.1.100”,配置免登录的操作步骤如下:1.以hadoop用户登录各服务器。2.执行以下命令,修改“.ssh目录”权限。chmod755~/.ssh说明:如果“.ssh”目录不存在,请在/home/hadoop目录执行mkdir~/.ssh命令创建。a)...
2019-11-08 18:29:50
565
原创 A Java RunTime Environment (JRE) or Java Development Kit (JDK) must be available in order to run Ecl
Cent os 6.x ,使用Xbrowser 5 投影linux 上的eclipse,打开eclipse运行时提示:A Java RunTime Environment (JRE) or Java Development Kit (JDK) must be available in order to run Eclipse. No java virtual machine was foun...
2019-11-02 22:36:55
480
转载 EJB容器简单介绍(一)
EJB跟我们之前所了解的组件,框架,包,类等都有什么关系?接下来主要是从容器入手来理解这些概念.J2EE中容器充当中间件的角色。主要的容器包括:WEB容器:给处于其中的应用程序组件(JSP,SERVLET)提供一个环境,使JSP,SERVLET直接更容器中的环境变量接口交互,不必关注其它系统问题。主要有WEB服务器来实现。例如:TOMCAT,WEBLOGIC,WEBSPHERE等。该容器提供的接口...
2018-07-11 17:15:47
13156
7
原创 Collection retainAll()
retainAll(Collection c); --》表示只保留两个集合之间的交集 (两个集合求交集) ;List、Set中都有方法addAll(Collection c) : 对于set来说,是将c中所有元素添加到一个Set中,如果Set中已有某一元素,则不添加,因Set不允许有重复值 对于List来说,是将c中元素append到一个List( Appends all of ...
2018-05-05 15:16:04
1442
原创 ETL工具LucaNet读取子级科目
数据源:需求:对科目代码进行处理,保留汇总(父节点)科目的最下级(最后的子节点)科目,如只有一个汇总科目,就保留该科目。比如:有a-->b-->c(151199)-->d(1511991)d的上级科目是C思路: 观察得到,表中数据的科目代码至多有10位,8位,6位,汇总科目的科目代码只有4位。每拿到一条数据中的科目代码,进行判断,如果
2017-10-18 09:33:09
760
转载 BI项目中的ETL设计详解(数据抽取、清洗与转换 )
ETL是将业务系统的数据经过抽取、清洗转换之后加载到数据仓库的过程,目的是将企业中的分散、零乱、标准不统一的数据整合到一起,为企业的决策提供分析的依据。 ETL是BI项目最重要的一个环节,通常情况下ETL会花掉整个项目的1/3的时间,ETL设计的好坏直接关接到BI项目的成败。ETL也是一个长期的过程,只有不断的发现问题并解决问题,才能使ETL运行效率更高,为项目后期开发提供准确的数据。ETL的
2017-10-13 18:20:39
2938
转载 java基础总结-----》java三大特性/原则------多态
三大特性之一::多态面向对象编程有三大特性:封装,继承,多态封装隐藏了类内存的实现机制,可以在不影响使用的情况下改变类的内部结构,同时也不保护了数据。对外界而言它的内部细节是隐藏的,暴露给外界的只是它的访问方法。继承是为了复用代码。继承定义了类与类之间的关联,共享特性。把若干个类相同/相似的属性抽取出来定义为一个父类或超类,然后使用这些类继承父类,这样他们不仅拥有父类的属性和方法,还可
2017-10-13 16:11:05
403
原创 java基础总结(二)-----》java三大特性/原则------继承
在《Think in java》中有这样一句话:复用代码是Java众多引人注目的功能之一。但要想成为极具革命性的语言,仅仅能够复制代码并对加以改变是不够的,它还必须能够做更多的事情。在这句话中最引人注目的是“复用代码”,尽可能的复用代码使我们程序员一直在追求的,现在我来介绍一种复用代码的方式,也是java三大特性之一---继承。继承的概念:继承所描述的是“is-a”的关系,如果有两
2017-10-13 15:32:19
861
原创 java基础总结-----》java三大特性/原则------封装
三大特性之一::封装什么是封装?信息隐藏,是指利用抽象数据类型将数据和基于数据的操作封装在一起,使其构成一个不可分割的独立实体。封装隐藏了类的内部实现机制,可以在不影响使用的情况下改变类的内部结构,同时也保护了数据。对外界而已,它的内部细节是隐藏的,暴露给外界的只是它的访问方法。封装可以使我们容易的修改类的内部实现,而无需修改使用了该类的客户代码。使
2017-10-13 15:12:13
818
转载 修改Ubuntu的aptget源为阿里源的方法
1、复制原文件备份sudo cp /etc/apt/source.list /etc/apt/source.list.bak2、编辑源列表文件sudo vim /etc/apt/source.list3、将原来的列表删除,添加如下内容deb http://mirrors.aliyun.com/ubuntu/ vivid main restricted universe mu
2017-10-06 22:24:04
2434
转载 浅说Mysql的行级锁,表级锁,页级锁
MySQL行级锁:引擎 INNODB,理解为对单独的一行记录加锁仅对指定的记录进行加锁,这样其它进程还是可以对同一个表中的其它记录进行操作。MySQL表级锁:引擎 MyISAM , 理解为锁住整个表,可以同时读,写不行直接锁定整张表,在你锁定期间,其它进程无法对该表进行写操作。如果你是写锁,则其它进程则读也不允许。MySQL页级锁:引擎 BDB
2017-10-06 22:02:46
558
原创 数据库的连接池的原理与Hibernate的内置连接池及C3P0的配置
数据库连接池的原理:在未使用DB连接池时,通过数据库连接对象Connection连接DB的。这种方式的缺点是,当本次连接使用完毕后,就需要将该连接删除。连接对象的创建需要通过网络与运程的数据库服务器DBserver 进行连接,连接对象的删除,也需要解除与远程的连接,将占有的资源释放。这两处过程都是很消耗系统时间与系统资源的。当下一个访问数据库的请求到达时,需要再次创建连接,删除连接
2017-10-05 18:45:35
1749
原创 了解hibernate.propertites文件
把log4j.xml文件放入项目src目录下,打开删除File与RollingFile标签包含的内容(它们会自动生成两个文件夹,存文件的)这样做的作用:当我们在运行操作数据库的方法时,自动加载hibernate.propertites文件,但找不到,需要我们给它配置;src下新建一个文件file叫hibernate.propertites打开编辑:hibernate
2017-10-05 18:41:46
324
原创 Hibernate的CURD操作
首先定义工具类:HbnUtils包:com.etc.utilsSessionFactory由于是重量级,线程安全的,所有我们的使用原则:是用单例的,且不要手动关闭该对象public class HbnUtils{private static SessionFactory sessionFactory;public static Session getSessio
2017-10-05 18:39:02
282
转载 ThreadLocal管理Session
利用ThreadLocal模式管理Session为什么要用ThreadLocal模式呢?在利用Hibernate开发DAO模块时,我们和Session打的交道最多,所以如何合理的管理Session,避免Session的频繁创建和销毁,对于提高系统的性能来说是非常重要的;以往是通过eclipse的插件来自动完成这些代码的,当然效果是不错的。但代码过于冗长,维护困难。
2017-10-05 18:17:10
491
原创 HIbernateAPI -Session与sessionFactory接口及Session对象的获取方式
HIbernateAPI-Session接口sessionFactory接口:sessionFactory对象特点:重量级,单例的,线程安全的,由于是重量级,线程安全的,所有我们的使用原则:是用单例的,且不要手动关闭该对象session接口:session对象轻量级的,线程不安全的,多例的。轻量级的,线程不安全的,所有我们把它做成多例模式的。使用完毕
2017-10-05 18:06:39
1181
原创 Hibernate的配置文件与测试
首先新建java project项目,,笔者使用hibernate的版本是4.2.21搭建hibernate环境:src新建文件夹,导入以下jar包:required目录下的所有jar包optional/c3p0目录下的所有jar包optionnal/ehcache/slf4j-api-1.6.1.jarjpa-metamodel-generator目录下所有jar包
2017-10-03 17:29:07
325
转载 插入排序--折半插入
思想:①每次插入,都从前面的有序子表中查找出待插入元素应该被插入的位置; ②给插入位置腾出空间,将待插入元素复制到表中的插入位置。 注意到该算法中,总是边比较边移动元素,下面将比较和移动操作分离开来,即先折半查找出元素的待插入位置,然后再同意地移动待插入位置之后的所有元素。当排序表为顺序存储的线性表时,可以对直接插入排序算法作如下改进:由于是顺序存储的线性表,所以查找有序子表时
2017-10-03 11:00:07
421
转载 插入排序---直接插入
思想:插入排序就是每一步都将一个待排数据按其大小插入到已经排序的数据中的适当位置,直到全部插入完毕。 插入排序方法分直接插入排序和折半插入排序两种。算法实现: /// 插入排序 static void insertion_sort(int[] unsorted) { for (int i =
2017-10-03 10:36:40
298
转载 快速排序
快速排序是冒泡排序的改进版,也是最好的一种内排序,在很多面试题中都会出现,也是作为程序员必须掌握的一种排序方法。思想:1.在待排序的元素任取一个元素作为基准(通常选第一个元素,但最的选择方法是从待排序元素中随机选取一个作为基准),称为基准元素; 2.将待排序的元素进行分区,比基准元素大的元素放在它的右边,比其小的放在它的左边; 3.对左右两个分区
2017-10-03 10:24:34
269
原创 选择排序
思想:选择排序的思想非常直接,从所有序列中先找到最小的,然后放到第一个位置。之后再看剩余元素中最小的,放到第二个位置……以此类推,就可以完成整个的排序工作了。插入排序和选择排序的区别:选择排序是固定位置,找元素。插入排序的固定元素找位置,是两种思维方式。int[] v = new int[]{5,6,92,10,8,1,3};for(int i=0;
2017-10-03 10:03:21
227
转载 使用Hadoop和Spark实现二次排序
一、输入、期望输出、思路。输入为SecondarySort.txt,内容为:2000,12,04,102000,11,01,202000,12,02,-202000,11,07,302000,11,24,-402012,12,21,302012,12,22,-202012,12,23,602012,12,24,702012,12,25,102013,01,23,
2017-10-02 21:34:02
317
转载 使用Hadoop和Spark实现TopN算法(1)——唯一键
0.简介 TopN算法是一个经典的算法,由于每个map都只是实现了本地的TopN算法,而假设map有M个,在归约的阶段只有M x N个,这个结果是可以接受的并不会造成性能瓶颈。 这个TopN算法在map阶段将使用TreeMap来实现排序,以到达可伸缩的目的。 当然算法有两种,一种是唯一键,就是说key的类型是唯一的(是指在比较的实际阶段),比如本篇就是唯一键的TopN
2017-10-02 21:19:36
817
原创 StringTokenizer的用法及示例
StringTokenizer类:根据自定义字符为分界符进行拆分,并将结果进行封装提供对应方法进行遍历取值StringTokenizer方法不区分标识符、数和带引号的字符串,它们也不识别并跳过注释;该方法用途类似于split方法,只是对结果进行了封装;帮助文档上对此进行了说明:StringTokenizer 是出于兼容性的原因而被保留的遗留类(在新代码中
2017-10-02 20:52:49
605
转载 hadoop的三种任务调度的原理
Hadoop调优方式一个MapRedcue作业是通过JobClient向master的JobTracker提交的(JobTracker一直在等待JobClient通过RPC协议提交作业),JobTracker接到JobClient的请求后把其加入作业队列中。Datanode节点的TaskTracker一直通过RPC向JobTracker发送heartbeat询问有没有任务可做,
2017-10-02 20:37:58
2644
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人