- 博客(51)
- 资源 (3)
- 问答 (2)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 Python实现大文件分割
在实际工作中,有些场景下,因为产品既有功能限制,不支持特大文件的直接处理,需要把大文件进行切割处理。当然可以通过UltraEdit编辑工具,或者从网上下载一些文件切割器之类的。但这些要么手工操作太麻烦,要么不能满足自定义需求。而且,对程序员来说,DIY一个轮子还是有必要的。Python作为快速开发工具,其代码表达力强,开发效率高,因此用Python快速写一个,还是可行的。需求描述:...
2018-11-14 19:58:04
414
原创 Flink 实时去重方案
去重计算是数据分析业务里面常见的指标计算,例如网站一天的访问用户数、广告的点击用户数等等,离线计算是一个全量、一次性计算的过程通常可以通过 distinct 的方式得到去重结果,而实时计算是一种增量、长期计算过程,我们在面对不同的场景,例如数据量的大小、计算结果精准度要求等可以使用不同的方案。本篇将会基于 Flink 讲解不同的实现方案:MapState 方式去重 SQL 方式去重 HyperLogLog 方式去重 Bitmap 精确去重下面将以一个实际场景为例:计算每个广告每小时的点击用户数,
2021-04-14 20:51:39
1461
原创 Spark Shuffle原理详解
1.SparkShuffle1.SparkShuffle概念reduceByKey会将上一个RDD中的每一个key对应的所有value聚合成一个value,然后生成一个新的RDD,元素类型是<key,value>对的形式,这样每一个key对应一个聚合起来的value。问题:聚合之前,每一个key对应的value不一定都是在一个partition中,也不太可能在同一个节点上,因为RDD是分布式的弹性的数据集,RDD的partition极有可能分布在各个节点上。如何聚合?...
2021-04-12 22:39:03
425
1
原创 Hadoop本地运行出现:Caused by: java.io.FileNotFoundException:D:/tmp/hadoop-win2010/mapred/local/
完美解决hadoop本地运行时出现:Caused by: java.io.FileNotFoundException: D:/tmp/hadoop-win%2010/mapred/local/localRunner/root/jobcache/job_local384849921_0001/attempt_local384849921_0001_m_000000_0/output/file.out.index意思是临时文件没找到,手动进入电脑目录下,目录确实为空,根本没有文件,猜想就是临时文件夹建立
2020-09-27 22:09:38
982
2
原创 idea2020.1版本已经导入mybayis的jar包还是报错Error:(4, 28) java: 程序包org.apache.ibatis.io不存在
看了其他的解决方法是将本地仓库换成idea自带的maven的仓库但是自己又不想换,怕以后又出什么麻烦。所以看到了另一种解决方法:使用 mvn idea:idea命令其实这个方法可以解决同类导不到包的问题解决方法如下:1.我是直接使用idea的Terminal,当然也可以使用cmd,不过要先进入到项目(有pom文件的目录)所在的位置,2.使用mvn idea:idea命令:最后Build success。然后就没有导包的错误了。...
2020-09-03 16:02:05
3447
10
原创 sqoop 从mysql导出数据到hive datetime类型后多了个'.0' 的问题解决
sqoop import -Dorg.apache.sqoop.splitter.allow_text_splitter=true \--connect jdbc:mysql://www.baidu.com/shagou \--username root\--password 1234556 \--hive-database stg \--hive-import \--wareh...
2020-03-10 11:02:09
2464
4
原创 Linux环境下Mysql开启远程访问权限
如何通过Window的数据库可视化工具远程连接装在Linux上的Mysql呢?可以按照以下步骤逐一确认!|1检查监听端口是否存在netstat -ntlp |grep mysql |2检查Mysql配置配置先执行:vim /etc/my.cnf[mysqld]port = 3306bind-address = 0.0.0.0 # 这一行改成...
2020-02-12 21:54:37
631
转载 【MySQL】在阿里云的服务器linux下安装mysql和卸载mysql
一、MySQL的安装和配置1、安装rpm包rpm -Uvh http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm2、安装mysqlyum -y install mysql-community-server3、加入开机启动(就是电脑启动的时候,自动启动MySQL服务)systemctl enable ...
2020-02-12 14:54:42
178
原创 Linux 安装python3.7.0
Linux 安装python3.7.0我这里使用的时centos7-mini,centos系统本身默认安装有python2.x,版本x根据不同版本系统有所不同,可通过python --V 或 python --version 查看系统自带的python版本有一些系统命令时需要用到python2,不能卸载1、安装依赖包 ...
2019-10-25 15:14:23
183
转载 如何通过读代码提升编程能力
那就是去读别人写的代码。读那些你常用的库、编程框架的源代码,读那些你景仰的大牛的源代码,读代码里的测试(测试本身就是一种有效的文档);读代码、改代码、运行代码。其实,所谓写程序,大部分的时间都是花在读代码上,“写”的部分耗时极少;所以把“读”的技能训练好了,是很有好处的。提高编程能力万无一失的办法编注:这篇文章最初于 2010 年 5 月为 Fuel Your Coding 网站而写。...
2018-12-25 10:45:38
529
转载 如何成为大数据Spark高手
Spark是发源于美国加州大学伯克利分校AMPLab的集群计算平台,它立足于内存计算,性能超过Hadoop百倍,从多迭代批量处理出发,兼收并蓄数据仓库、流处理和图计算等多种计算范式,是罕见的全能选手。Spark采用一个统一的技术堆栈解决了云计算大数据的如流处理、图技术、机器学习、NoSQL查询等方面的所有核心问题,具有完善的生态系统,这直接奠定了其一统云计算大数据领域的霸主地位。 伴随Sp...
2018-12-18 09:53:53
216
1
原创 百度网盘限速破解——Proxyee-down的下载与安装教程
其实就两步,安装ProxyeeDwon软件,然后再安装一下谷歌浏览器的扩展应用程序SwitchyOmega_Chromium.crx,然后打开百度网盘pan.baidu.com,就可以不限速下载东西了。非常快!!!安装SwitchyOmega扩展程序Proxyee-down是monkeyWie在Github上的一个开源项目,向作者致敬。最新版的Proxyee-down为3.12(2018.1...
2018-12-06 14:23:57
17874
5
原创 Java中的JVM重温
一、基础理论知识1、java虚拟机的生命周期: Java虚拟机的生命周期 一个运行中的Java虚拟机有着一个清晰的任务:执行Java程序。程序开始执行时他才运行,程序结束时他就停止。你在同一台机器上运行三个程序,就会有三个运行中的Java虚拟机。 Java虚拟机总是开始于一个main()方法,这个方法必须是公有、返回void、直接受一个字符串数组。在程序执行时,你必须给Java虚拟机指明...
2018-11-14 10:43:21
148
原创 大数据工程师面试
技术成熟大数据实践不够大数据大于数据分析大数据人才企业培养的核心技能大数据团队构成 基础平台、应用平台、数据应用(用户画像、BI、用户行为分析)大数据开发工程师 精通各个组件的原理。理解业务的需求,java,scala,hive数据仓库工程师 数据建模,java,hive,python算法工程师 机器学习算法,用户画像,推荐, 100PB 数十万几千个节点...
2018-11-08 16:35:35
861
原创 告诉你什么是真正的ETL
架构挑战:1、对现有数据库管理技术的挑战。2、经典数据库技术并没有考虑数据的多类别(variety)、SQL(结构化数据查询语言),在设计的一开始是没有考虑到非结构化数据的存储问题。3、实时性技术的挑战:一般而言,传统数据仓库系统,BI应用,对处理时间的要求并不高。因此这类应用通过建模,运行1-2天获得结果依然没什么问题。但实时处理的要求,是区别大数据应用和传统数据仓库技术、BI技术的...
2018-11-06 10:00:43
415
原创 大数据技术之 Linux 基础
一、Linux 入门概述 概述 Linux 内核最初只是由芬兰人林纳斯·托瓦兹(Linus Torvalds)在赫尔辛基大学上学时出于个人爱好而编写的。Linux 是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POSIX 和 UNIX 的多用户、多任务、支持多线程和多 CPU 的操作系统。Linux 能运行主要的 UNIX 工具软件、应用程序和网络协议。它支持 ...
2018-10-26 11:22:40
368
原创 那些深夜还在回工作微信的男士们,你们还好吗?
微信工作群一响,我就想把手机扔掉。所以看到下面这条新闻的时候,我相信很多人的内心都是复杂的。罚一两个老板容易,想让微信不在深夜响起,却是难上加难。因为现实往往比“刻薄老板要求10分钟内回微信”更复杂。在另一头眼巴巴等你回复的,也可能是你的同事,你的客户,他们也在被其他力量逼迫着深夜给你发微信。而你,要么牺牲休息时间,配合他们,要么拒绝回复,落下“工作不积极”“做事不靠谱”的印象。...
2018-10-12 11:23:24
306
原创 Flume+Spark+Hive+Spark SQL离线分析系统
前段时间把Scala和Spark一起学习了,所以借此机会在这里做个总结,顺便和大家一起分享一下目前最火的分布式计算技术Spark!当然Spark不光是可以做离线计算,还提供了许多功能强大的组件,比如说,Spark Streaming 组件做实时计算,和Kafka等消息系统也有很好的兼容性;Spark Sql,可以让用户通过标准SQL语句操作从不同的数据源中过来的结构化数据;还提供了种类丰富的MLl...
2018-08-12 22:58:57
370
转载 Hive内置row_number
语法:ROW_NUMBER() OVER(PARTITION BY COLUMN ORDER BY COLUMN)简单的说row_number()从1开始,为每一条分组记录返回一个数字,这里的ROW_NUMBER() OVER (ORDER BY xlh DESC) 是先把xlh列降序,再为降序以后的没条xlh记录返回一个序号。 示例: xlh row_num 1700 1 1500 2 ...
2018-07-28 22:33:25
1329
原创 大数据面试要点总结
首先是大牛的建议: 我觉得面试是否成功主要取决是否能让面试官感觉到自己有项目经验,而体现项目经验呢,主要靠一些技术亮点,介绍项目时能说出一些技术亮点是很关键的,这些技术亮点应该是企业项目中的一个个解决方案,解决方案就是使用xx技术解决xx问题,比如使用threadlocal和拦截器解决分页参数的透明传输问题,使用shiro解决项目的认证和授权问题,类似这样的话语要尽量多说一些。如果在介绍...
2018-07-18 21:02:56
372
转载 大数据框架学习:从 Hadoop 到 Spark
Hadoop1. Hadoop是什么Hadoop软件库是一个利用简单的编程模型在大量计算机集群上对大型数据集进行分布式处理的框架。特点:部署成本低、扩展方便、编程模型简单。Hadoop 实现了在行业标准的服务器上进行可靠、可缩放的分布式计算,让你能够以较低的预算跟踪数 PB 以上的数据,而不必需要超级计算机和其他昂贵的专门硬件。Hadoop 还能够从单台服务器扩展到数千台计算机,检测和处理应用程序...
2018-07-13 16:37:23
594
1
转载 大数据框架Hadoop主要模块介绍
本文涉及到的所有模块,都是属于Apache组织,不包括其他第三方的模块。核心模块:Hadoop Common: 包括Hadoop常用的工具类,由原来的Hadoop core部分更名而来。主要包括系统配置工具Configuration、远程过程调用RPC、序列化机制和Hadoop抽象文件系统FileSystem等。它们为在通用硬件上搭建云计算环境提供基本的服务,并为运行在该平台上的软件开发提供了所需...
2018-07-13 16:28:47
3460
原创 流计算框架 Flink 与 Storm 的性能对比
1. 背景Apache Flink 和 Apache Storm 是当前业界广泛使用的两个分布式实时计算框架。其中 Apache Storm(以下简称“Storm”)在美团点评实时计算业务中已有较为成熟的运用(可参考 Storm 的可靠性保证测试),有管理平台、常用 API 和相应的文档,大量实时作业基于 Storm 构建。而 Apache Flink(以下简称“Flink”)在近期倍受关注,具有...
2018-07-13 15:48:31
243
原创 restful接口设计规范总结
restful接口设计规范总结这篇 文章主要是借鉴他人,但是自己很想总结出一套规范,以供向我这样的新手使用,用来规范代码,如果有什么好的提议,请不吝赐教,本篇文章长期更新!一、重要概念:REST,即Representational State Transfer的缩写。我对这个词组的翻译是"表现层状态转化"。Resource(资源) :对象的单个实例。 例如,一只动物。它可以是一段文本、一张图片、一...
2018-07-13 15:36:17
282
原创 Hadoop1.0与Hadoop2.0的区别
一、从Hadoop整体框架来说 Hadoop1.0即第一代Hadoop,由分布式存储系统HDFS和分布式计算框架MapReduce组成,其中HDFS由一个NameNode和多个DateNode组成,MapReduce由一个JobTracker和多个TaskTracker组成。 Hadoop2.0即第二代Hadoop为克服Hadoop1.0中的不足:针对Hadoop1.0...
2018-07-13 15:33:19
844
原创 redis持久化几种方式的比较
redis持久化的几种方式1、前言Redis是一种高级key-value数据库。它跟memcached类似,不过数据可以持久化,而且支持的数据类型很丰富。有字符串,链表,集 合和有序集合。支持在服务器端计算集合的并,交和补集(difference)等,还支持多种排序功能。所以Redis也可以被看成是一个数据结构服务 器。Redis的所有数据都是保存在内存中,然后不定期的通过异步方式保存到磁盘上(这...
2018-07-13 15:25:14
312
原创 虚拟机上的CentOS克隆,以及上网解决方案
1.首先把Linux系统关机。然后准备克隆2.克隆后,生成MAC地址这里可以选择其他的网络适配器(NAT,还有仅主机),NAT不能用的可以查看我另一篇博客。3.删除 rm /etc/udev/rules.d/70-persistent-net.rules4.修改eth0里面的硬件MAC地址 /etc/sysconfig/network-scripts/ifcfg-eth0 (可能是别的,例...
2018-06-14 14:35:13
243
原创 CentOS用不了NAT联网解决方案
首先,打开运行,输入“services.msc”。然后,找到VMware NAT Service和VMware DHCP Service,先右击VMware DHCP Service,点击“停止”(NAT服务也停止了),然后开启“VMware NAT Service”,再开启“VMware DHCP Service”。(重启这两个服务)后面就可以上网了。首先,打开运行,输入“services.ms...
2018-06-14 14:17:19
952
原创 业务逻辑详解
不同的项目有不同的功能,不同的功能需要不同的实现,实现这些核心功能的代码就叫业务逻辑比如让你实现一个功能,给你两个数,让你获取它的和,你所写的如何才能获得任意给定的两个数的和,这个程序实现过程即可成为业务逻辑处理。“一个人了解的业务逻辑越多越细,他就是越好的需求分析师。”难题:什么是业务逻辑?业务是指一个实体单元向另一个实体单元提供的服务。逻辑是指根据已有的信息推出合理的结论的规律。业务逻辑是指...
2018-05-29 19:00:13
2167
原创 Spring Data Solr搜索引擎进行开发教程
Solr安装与配置1.1 Solr的介绍大多数搜索引擎应用都必须具有某种搜索功能,问题是搜索功能往往是巨大的资源消耗并且它们由于沉重的数据库加载而拖垮你的应用的性能。这就是为什么转移负载到一个外部的搜索服务器是一个不错的主意,Apache Solr是一个流行的开源搜索服务器,它通过使用类似REST的HTTP API,这就确保你能从几乎任何编程语言来使用solr。Solr是一个开源搜索平台,用于构建...
2018-05-23 22:52:58
441
1
原创 pom.xml中出现web.xml is missing and <failOnMissingWebXml> is set to true解决方案
提示信息应该能看懂。也就是缺少了web.xml文件,<failOnMissingWebXml>被设置成true了。搜索了一下,Stack Overflow上的答案解决了问题,分享一下。目前被顶次数最多的回答原文如下:This is a maven error. It says that it is expecting a web.xml file in your project bec...
2018-05-21 15:45:21
1990
原创 Jsp的el&jstl&mvc
EL01_EL表达式的概述 全称是Expression Language 主要作用 获取域对象中的数据并输出 执行运算并将结果输出 获取WEB开发中的常用对象 格式 ${} 02_EL表达式获取并输出其他类型的对象 el表达式作用: 替代jsp页面中的<% 主要是用来展示数据的 1,从4个域对象中根据键的名字获取值 User u = new User("zhang...
2018-03-31 21:24:35
266
原创 Jsp技术详解
01_JSP的概述&入门案例 JSP概述 全称是Java Server Pages,他和Servlet一样,也是Java所提供的一门用于开发动态WEB资源的技术, JSP也是JavaEE的规范之一,JSP的底层其实就是Servlet。 JSP的特点 编写JSP就像编写HTML一样 JSP和HTML的区别 HTML只能向客户端提供静态数据 JSP技术允许我们在页面中嵌套Java代码...
2018-03-31 21:10:58
332
原创 Cookie&Session详解
01_会话技术的概述 会话技术 会话可以简单理解为,一个用户打开一个浏览器,在同一个WEB应用上,点击多个超链接,访问多个WEB资源, 然后关闭浏览器,那这整个过程我们称之为一个会话 作用 会话技术可以保存用户在会话过程中所产生的数据 会话技术也可以让用户在同一个会话中实现数据的共享 想保存数据到购物车 不重要 个人私有 保存哪里 服务器? 数据库 淘宝 京东 不登录 编程最重要的...
2018-03-31 20:58:00
215
原创 Servlet教程
01_Servlet的概述&入门案例 Servlet 是Java所提供的一门用于开发动态WEB资源的技术,也是JavaEE的规范之一 开发步骤 创建一个WEB项目 在WEB项目中创建一个类,让该类去实现Servlet接口(继承Servlet接口的实现类) 在web.xml文件中进行相关的配置 <servlet> <servlet-name>Demo...
2018-03-31 20:34:51
335
原创 Request&Response详解
01_响应对象的概述&向客户端发送数据 WEB服务器会针对每一个客户端发出的HTTP请求,分别的创建一个请求对象和一个响应对象 如果需要获取客户端提交的数据,需要使用请求对象 如果需要向客户端发送一些数据,需要使用响应对象 响应 : 响应行 响应头 响应正文 1XX:浏览器发送的请求信息不完善,需要浏览器进一步补充资料 2XX:响应正常完成 3XX:本次请求已经完成,但...
2018-03-27 22:48:51
414
原创 Servlet执行过程&生命周期详解
1.Servlet定义servlet 是运行在 Web 服务器中的小型 Java 程序。servlet 通常通过 HTTP(超文本传输协议)接收和响应来自 Web 客户端的请求。 2.Servlet体系结构3.Servlet执行过程4.Servlet生命周期构造 servlet,然后使用 init 方法将其初始化。 处理来自客户端的对 service 方法的所有调用。 从服务中取出 servlet...
2018-03-25 21:02:28
547
原创 JavaScript教程
JavaScript教程1.1 JavaScript的概述1.1.1 什么是JavaScriptJavaScript是web上一种功能强大的编程语言,用于开发交互式的web页面。它不需要进行编译,而是直接嵌入在HTML页面中,由浏览器执行。l JavaScript 被设计用来向 HTML 页面添加交互行为。 l JavaScript 是一种脚本语言(脚本语言是一种轻量级的编程语言)。 l Jav...
2018-03-21 20:16:37
640
Balsamiqmockups.zip
2021-03-22
SparkStreaming处理完的数据,哪些存放到Mysql,哪些存放到HBase?
2018-08-01
已经安装了lxml库,pycharm在导不进去
2018-02-08
TA创建的收藏夹 TA关注的收藏夹
TA关注的人