- 博客(695)
- 资源 (12)
- 收藏
- 关注
转载 sql:mysql:MySql 不存在则插入,存在则更新或忽略
前言在插入数据时,可能需要忽略或替换掉重复的数据(依据某个字段),这时可以在应用层处理,也可以使用复杂的 SQL 语句来处理(如果仅仅知道一些简单的 SQL 语法的话),当然也可以使用一些简单的 SQL 语法,不过它并不是通用所有的数据库类型。以下所有实例仅针对MySQL而言,并不能随意用于其它数据库实例表名称:student表字段:Column Name Primary Key Auto Increment Unique id true tru
2020-10-23 10:40:20
3179
2
原创 hdfs:不小心删除了NameNode,如何恢复?
https://mp.weixin.qq.com/s?__biz=MzI4OTY3MTUyNg==&mid=2247495873&idx=1&sn=2aa2057c70e954baa3cecd4ab2a8c170&chksm=ec2920c8db5ea9deb61c51a76d2d170df51ff7ff78f4ec9223123ee829791ff199a989b7d9ac&scene=21#wechat_redirecthttps://cloud.tencen
2020-10-21 17:22:10
1278
转载 jpa:repository中@Query有nativeQuery = true和没有的区别
有nativeQuery = true时,是可以执行原生sql语句,所谓原生sql,也就是说这段sql拷贝到数据库中,然后把参数值给一下就能运行了,比如:@Query(value = "select * from product_rel where audit_id=?1 and process_object=0 ",nativeQuery = true)List<ProductRel> findAllByProductAuditId(Integer id);这个时候,把sele
2020-10-20 10:40:01
3092
转载 MapReduce过程详解及其性能优化
https://blog.youkuaiyun.com/aijiudu/article/details/72353510
2020-09-29 00:06:27
311
原创 java:jvm:JVM堆区新生代为什么有两个Survivor
JVM内存模型中, Heap区被分为新生代和老年代两个区域, 新生代又分为Eden+Survivor1+Survivor2. 新生代收集算法主要使用复制算法, 老年代收集算法主要使用标记-清理或标记-整理算法。堆内存划分新生代在发生首次YGC的时候, Eden内存活的对象会被复制到S1。再发生YGC的时候, Eden内存活的对象和S1内存活的对象会被复制到S2, 同时清除Eden内的对象和S1内的对象.再发生YGC的时候, Eden内存活的对象和S2内存活的对象会被复制到S.
2020-09-26 17:25:34
1232
原创 azkaban:Azkaban集群内部调度原理分析
https://cloud.tencent.com/developer/article/1167575
2020-09-01 17:58:13
426
原创 jenkins:打包部署时添加分支选项可以选择
添加一个Git Parameter 和 ChoiceParameter,分别如下:添加后保存,效果:解决一个问题:几个项目有连带关系,需要解除连带关系,否则打包时也会影响到上下游项目的部署。在配置里面选择 build,选择 高级,去掉勾选下面的参数:Enable triggering of downstream projects...
2020-08-24 17:55:22
5719
原创 hbase:使用Phoenix连接Hbase
https://blog.youkuaiyun.com/u010429286/article/details/70054232
2020-08-20 15:13:44
1166
1
原创 hadoop:HA场景下 java客户端远程访问hdfs配置
https://blog.youkuaiyun.com/wo198711203217/article/details/80528860?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecas
2020-08-18 13:35:52
1511
原创 hadoop:hdfs:为什么不适合大量小文件的存储
(1)HDFS不适合大量小文件的存储,因namenode将文件系统的元数据存放在内存中,因此存储的文件数目受限于 namenode的内存大小。HDFS中每个文件、目录、数据块占用150Bytes。如果存放的文件数目过多的话会占用很大的内存(2)HDFS适用于高吞吐量,而不适合低时间延迟的访问。如果同时存入大量的小文件会花费很长的时间(3) 流式读取的方式,不适合多用户写入,以及任意位置写入。如果访问小文件,则必须从一个datanode跳转到另外一个datanode,这样大大降低了读取性能。...
2020-08-17 15:13:51
4879
转载 hadoop:hdfs:HDFS存入文件的整个流程
本文结合HDFS的副本和分块从宏观上描述HDFS存入文件的整个流程。HDFS体系中包含Client、NameNode、DataNode、SeconderyNameode四个角色,其中Client是客户端,NN负责管理,DN负责存储、SN协助管理。先来看一个官网上的图# 图 0 -HDFS的体系结构HDFS的副本存储有如下规则:1.client将第一副本放到最靠近的一台DN2.第二副本优先放到另一个机架3.以此类推,尽量保证副本放在不同的机架由于副本和分块机制的存在..
2020-08-17 11:09:14
1369
原创 hive:函数:排名函数:Rank(笔记)
Rank1.函数说明RANK() 排序(排名)相同时会重复,总数不会变DENSE_RANK() 排序(排名)相同时会重复,总数会减少ROW_NUMBER() 依次进行排名2.数据准备表6-7数据准备 name subject score 孙悟空 语文 87 孙悟空 数学 95 孙悟.
2020-08-12 13:10:18
2780
转载 linux:压缩某个文件夹的实现方法
tar -zcvf /home/xahot.tar.gz /xahottar -zcvf 打包后生成的文件名全路径 要打包的目录例子:把/xahot文件夹打包后生成一个/home/xahot.tar.gz的文件。zip 压缩方法:压缩当前的文件夹 zip -r ./xahot.zip ./* -r表示递归zip [参数] [打包后的文件名] [打包的目录路径]解压 unzip xahot.zip 不解释linux zip命令的基本用法是:linux zip命令参数列表:...
2020-08-11 19:38:22
6173
1
转载 spark:Task,Partition,RDD、节点数、Executor数、core数目的关系和Application,Driver,Job,Task,Stage理解
梳理一下Spark中关于并发度涉及的几个概念File,Block,Split,Task,Partition,RDD以及节点数、Executor数、core数目的关系。输入可能以多个文件的形式存储在HDFS上,每个File都包含了很多块,称为Block。当Spark读取这些文件作为输入时,会根据具体数据格式对应的InputFormat进行解析,一般是将若干个Block合并成一个输入分片,称为InputSplit,注意InputSplit不能跨越文件。随后将为这些输入分片生成具体的Task。Inp.
2020-08-05 01:21:30
538
原创 spark:sparksql: cache
参考:https://blog.youkuaiyun.com/lsshlsw/article/details/48662669?utm_medium=distribute.pc_aggpage_search_result.none-task-blog-2~all~baidu_landing_v2~default-1-48662669.nonecase
2020-08-03 01:31:28
758
原创 spark:sparksql:jdbc测试(mysql)
/** * 数据源:JDBC * @param spark */ def testJDBC(spark: SparkSession): Unit = { // 从机器1的mysql读取数据 println("========================第一种读取mysql方式================================") //默认partation为1 val url1: String = "jdbc:mys.
2020-08-02 15:38:59
724
原创 spark:sparksql:通用的数据 加载/保存功能
Spark SQL 的数据源------通用的数据 加载/保存功能 Spark SQL支持通过DataFrame接口在各种数据源上进行操作。DataFrame可以使用关系变换进行操作,也可以用来创建临时视图。将DataFrame 注册为临时视图允许您对其数据运行SQL查询。本节介绍使用Spark Data Sources加载和保存数据的一般方法,然后介绍可用于内置数据源的特定选项。1, 常用的加载和保存功能。 最简单的形式,默认的数据源(parquet除非...
2020-08-01 17:49:27
380
原创 hive:使用concat_ws实现 array转string
array转string:select * from ( select collect_list(id) id_array, concat_ws('',collect_list(id)) id_string, --array转string origin_id from( select concat('{',id,'}') id, origin_id --付款通知书id from ods.ods_awa_finance_income where
2020-07-31 12:40:53
15144
原创 spark:Action算子:show()
show:展示数据 以表格的形式在输出中展示jdbcDF中的数据,类似于select * from spark_sql_test的功能。 show方法有四种调用方式,分别为,(1)show 只显示前20条记录。 示例:jdbcDF.show结果: (2)show(numRows: Int) 显示numRows条 示例:jdbcDF.show(3) 结果:(3)show(truncate: Boolean) 是...
2020-07-29 23:04:02
7822
1
原创 hadoop:hdfs:HdfsUtil
NoClassDefFoundError: org/apache/hadoop/crypto/key/KeyProviderTokenIssuer
2020-07-28 10:43:39
1036
原创 zookeeper:启动方式
kafka自带的zk,kafka目录下:bin/zookeeper-server-start.sh config/zookeeper.properties &[root@sparkproject1 local]# cd kafka/[root@sparkproject1 kafka]# bin/zookeeper-server-start.sh config/zookeeper.properties &[1] 31276[root@sparkproject1 kafka]#
2020-07-26 16:35:13
2121
原创 hive:修改hive的元数据库
hive-site.xml文件中修改如下几个参数:<property><name>javax.jdo.option.ConnectionURL</name><value>jdbc:mysql://192.168.56.204:3306/hive_metastore?createDatabaseIfNotExist=true</value></property><property>&l...
2020-07-26 15:25:39
789
原创 superset:连接各数据源前缀
参考:https://www.cnblogs.com/JustToNight/category/1078634.html
2020-07-19 15:33:03
630
原创 linux:crontab 定时任务
linux下可以通过配置crontab来定时执行任务,执行体可以是一条系统命令或自己写的一个脚本,同时可以指派用户来执行。配置crontab有两种方法。方法1、使用crontab命令,例如添加一个新的或编辑已有的,使用:crontab -e就可以进入配置文件。此时配置crontab的执行者是当前登入用户,如果当前用户是root,需要为其他用户配置,可以使用crontab -e -u 用户名或su 用户名crontab -e这种方法有一个缺点,就是当前系统中配置的crontab不在一
2020-07-15 16:50:47
248
原创 mysql:索引常用的规则
数据库建立索引常用的规则如下:1、表的主键、外键必须有索引;2、数据量超过300的表应该有索引;3、经常与其他表进行连接的表,在连接字段上应该建立索引;4、经常出现在Where子句中的字段,特别是大表的字段,应该建立索引;5、索引应该建在选择性高的字段上;6、索引应该建在小字段上,对于大的文本字段甚至超长字段,不要建索引;7、复合索引的建立需要进行仔细分析;尽量考虑用单字段索引代替:A、正确选择复合索引中的主列字段,一般是选择性较好的字段;B、复合索引的几个字段是否经常同...
2020-07-10 19:04:31
1206
原创 sql:mysql:截取某个字符 1.最后一次出现的之前的字符串 2.最后出现那次的之后的字符串
mysql 截取某个最后一个字符前的字符串,比如字符串“vip_cc_99”,现在截取最后一个'_'前面的字符串如下:REVERSE(SUBSTR(REVERSE('vip_cc_99') , INSTR(REVERSE('vip_cc_99)','_')+1)) AS name比如字符串“vip_cc_99”,现在截取最后一个'_'后面的字符串如下:REVERSE(left(REVERSE('vip_cc_99'),LOCATE('_',REVERSE('vip_cc_99'))-1)..
2020-07-08 15:36:56
3319
1
原创 java:阿里巴巴Java开发手册中的DO、DTO、BO、AO、VO、POJO定义
分层领域模型规约:DO( Data Object):与数据库表结构一一对应,通过DAO层向上传输数据源对象。 DTO( Data Transfer Object):数据传输对象,Service或Manager向外传输的对象。 BO( Business Object):业务对象。 由Service层输出的封装业务逻辑的对象。 AO( Application Object):应用对象。 在Web层与Service层之间抽象的复用对象模型,极为贴近展示层,复用度不高。 VO( View Object)
2020-06-30 17:28:04
1088
原创 Spark:RDD checkpoint容错机制
经过上一节的学习,我们了解到合理地将RDD持久化/缓存,不仅直接避免了RDD的重复计算导致的资源浪费和占用还提升了RDD的容错性,而且间接提升了分析任务的完成效率,那么为什么又会需要基于checkpoint的容错机制,在什么情况下需要设置checkpoint呢?对RDD进行checkpoint操作,会将RDD直接存储到磁盘上,而不是内存,从而实现真正的数据持久化。checkpoint实际上对RDDlineage(RDD依赖关系图谱)的辅助和重新切割修正,当RDD依赖关系过于冗长和复杂时,即依赖...
2020-06-29 00:27:39
612
原创 Spark:持久化存储等级选取策略 /persist() / cache() /Storage Level
那么我们应该如何选取持久化的存储级别呢?实际上存储级别的选取就是Memory与CPU之间的双重权衡,可以参考下述内容:(1)如果RDD的数据量对于集群内存容量压力较小,可以很好地兼容默认存储级别(MEMORY ONLY),那么优先使用它,这是CPU工作最为高效的种方式, 可以很好地提高运行速度。(2)如果(1)不能满足,即集群的内存资源相较于cpu资源十分匮乏,则尝试使用MEMORY_ ONLY_ SER,且选择一种快速 的序列化工具,也可以达到一种不错的效果。(3)一般情况下不要把数据持久
2020-06-28 22:57:52
889
原创 scala:占位符的使用
在上面的实例中,用到了Scala占位符(_ ),若读者对Scala占位符还不甚了解,可以参考学习以下七个Scala占位符的常见用法:(1) import 导入包的所有成员,相当于Java的*,如import scala.math._。比Java方便的一点是它可以导 入某个类下的所有静态成员,Java则需要import static。(2)占位符,表示某一个参数,这个用法比较多。比如对collection、sequence 或者本章所学的RDD调用方法map、filter、sortWith、 fore
2020-06-27 16:10:46
1856
原创 Spark: sortBy和sortByKey函数详解
https://blog.youkuaiyun.com/hellojoy/article/details/81162741
2020-06-27 00:52:05
490
原创 Spark:对于提交命令的理解
如何使用spark-submit将打包好的jar提交到Spark上运行?打开终端,在终端中输入spark-submit --help, 可以查看spark-submit的详细帮助。下面说一下 spark-submit 的详细帮助。(1) --class 指向程序中的主类。 例如:--class "helloworld"(2) --master 是指集群的master URL。 举个例子,在本地运行就可以这样写:local模式:- -master local /...
2020-06-26 19:10:24
906
原创 spark:sparkstreaming 0.08版本 从 kafka 采集数据,并调用HTTP接口传参 + 定时任务
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://maven.apache.org/POM/4.0.0 http://maven.apache.org/
2020-06-19 11:19:08
1132
原创 spark:sparkstreaming 0.10版本 案例1:从 kafka 采集数据,并存储到 Hbase Demo示例 / 案例2:实时更新mysql
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://maven.apache.org/POM/4.0.0 http://maven.apache.org/
2020-06-19 10:38:06
1069
原创 sql:hive:mysql:group by与distinct 去重
源数据(mysql)id userid subject score1 001 语文 90.02 001 数学 92.03 001 英语 80.04 002 语文 88.05 002 数学 90.06 002 英语 75.57 003 语文 70.08 003 数学 85.09 003 英语 90.010 003 政治 82.011 001 语文 91.012 001 语文 92.0源数据(hive)C1 C2 C3 C4.
2020-06-17 10:32:15
1236
转载 spark:RDD和DataFrame和DataSet三者间的区别
RDD vs DataFrames vs DataSet在SparkSQL中Spark为我们提供了两个新的抽象,分别是DataFrame和DataSet。他们和RDD有什么区别呢?首先从版本的产生上来看:RDD (Spark1.0) —> Dataframe(Spark1.3) —> Dataset(Spark1.6)如果同样的数据都给到这三个数据结构,他们分别计算之后,都会给出相同的结果。不同是的他们的执行效率和执行方式。在后期的Spark版本中,DataSet会逐步取代RD
2020-06-16 22:50:44
5653
2
apache-phoenix.zip
2020-09-01
Hadoop本地环境配置 需要的文件hadoopdll和winutilexe.zip
2020-04-23
RedisDesktopManager_v0.9.3.817_itmop.com(可用).zip
2019-12-19
DBeaver(含hive驱动)
2019-05-31
MouseWithoutBordersSetup 无界鼠标
2019-05-25
【进程查看器】Process+Explorer
2018-09-30
高级小知识点
2017-05-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人