大数据与云计算

  • Hive数据仓库与企业级优化 Hadoop集群搭建到HIVE企业级实战课程 HIVE数据仓库视频 为什么使用hive: 操作接口采用类 SQL 语法,提供快速开发的能力。 避免了去写 MapReduce,减少开发人员的学习成本。 功能扩展很方便。 Hive基本组成: 用户接口:包括 CLI、JDBC/ODBC、WebGUI。 元数据存储:通常是存储在关系数据库如 mysql , derby 中。 解释器、编译器、优化器、执行器。 课程目录 1、Hive是什么,Hive的体系结构,Hive和Hadoop的关系 2、Hive的元数据存储、Hive的数据存储、Hive和RDBMS的区别 3、JDK安装 4、Hadoop集群搭建-1 5、Hadoop集群搭建-2 6、Hadoop集群搭建-3 7、Hadoop集群搭建-4 8、Hadoop集群搭建配置文件配置-5 9、Hadoop集群搭建HDFS配置-6 10、Zookeeper集群安装与配置 11、Hive安装与配置-1 12、Hive安装与配置-2 13、Hive与Hadoop的处理流程分析案例 14、Hive Cli命令行操作讲解 15、内部表和外部表的创建、修改、删除操作实战 16、增加分区、删除分析、加载数据到指定分区讲解和案例操作 17、增加、修改列以及表属性修改操作讲解 18、从文件加载到hive表讲解和案例操作、从查询插入数据到hive表讲解和案例操作 19、Array、Map操作案例分析讲解与实战 20、Struct 操作案例分析讲解与实战 21、嵌套复合类型案例分析实战基于RegexSerDe的案例剖析实战 22、详解Select语法操作 23、Group by使用详解 24、Hive 中 Order by, Sort by ,Dristribute by,Cluster By 的作用和用法 25、Hive Order by, Sort by ,Dristribute by,Cluster By操作案例讲解 26、Hive Join 讲解 27、Hive Lateral View语法 28、Hive Lateral View语法-案例 29、Hive Union 语法、Select 子查询、in或Not in实现 30、Hive Explain 语法、Hive 虚拟列 31、Hive S X 锁 32、关系运算符、算术运算符 33、逻辑运算符、复杂类型使用 34、数学函数 35、收集函数、类型转换函数、日期函数 36、条件函数 37、字符函数 38、UDAF函数、UDTF函数 39、UDF开发实战 40、UDAF开发实战
    • 2765
  • 又一经典!完整版Hadoop7天云计算培训 (赵星老师) 超经典Hadoop视频教程 本课程是在传智7天hadoop课程基础上拓展的。限于传智只有我一人讲课,课程排不开,只有7天,实在太少,我打算通过YY讲学的内容更多, 把自己想讲的一些内容加进去.课程只多,不会少. 课程中会贯穿一个电信项目的例子讲个各个知识点。最后会用黑马论坛日志作为项目讲述。本次课程不加入特别综合的大型的hadoop项目。 适用人群:hadoop零基础,或者转行做hadoop的人士。 预期目标:通过该课程的学习,我期望达到以下三个目标: 1、对hadoop、zookeeper、hbase、hive、sqoop、flume、pig的理论体系有个系统掌握,对核心知识能够掌握;阅读市面上的各种图书和各种文章不再有困难; 2、能够在linux环境搭建hadoop、hbase等的伪分布和分布模式,进入公司后可以自己搭建环境; 3、能够使用java语言、shell命令行两种方式操作hadoop、zookeeper、hbase、hive、sqoop等,进入公司可以直接上手工作,不需要二次培训。 课程时长:初级班414分钟,中级班408分钟,高级版322分钟,项目实战221分钟。总课时1365分钟,是全国hadoop网络培训课时最长的。 培训效果:吴超老师是传智的北京、上海、广州校区和黑马程序员的唯一hadoop讲师。通过在20多个班级、大约1000小时的讲课时长的磨练,本课程已经非常适合零基础入门和提高,能够让仅具有java基础的大学毕业生可以上手工作。 课程安排: 01) Linux基础操作 本节讲解linux基础操作,主要是在命令行下进行文件系统的操作,这是hadoop学习的基础,后面的所有视频都是基于linux操作的。鉴于很多学员没有linux基础,特增加该内容。 02) 搭建伪分布实验环境 本节是最基本的课程,属于入门级别,主要讲述在linux单机上面安装hadoop的伪分布模式,在linux集群上面安装hadoop集群。对于不熟悉linux的同学, 课程中会简单的讲解常用的linux命令。这两种是必须要掌握的。通过现在的教学发现,很多同学并不能正确的配置集群环境。 知识点简单罗列: Ø Hadoop概念、版本、历史 Ø Hadoop和核心组成介绍及hdfs、mapreduce体系结构 Ø Hadoop的集群结构 Ø Hadoop伪分布的详细安装步骤 Ø 如何通过命令行和浏览器观察hadoop 03) 介绍HDFS体系结构及shell、java操作方式 本节是对hadoop核心之一——hdfs的讲解。hdfs是所有hadoop操作的基础,属于基本的内容。对本节内容的理解直接影响以后所有课程的学习。在本节学习中,我们会讲述hdfs的体系结构,以及使用shell、java不同方式对hdfs的操作。在工作中,这两种方式都非常常用。学会了本节内容,就可以自己开发网盘应用了。在本节学习中,我们不仅对理论和操作进行讲解,也会讲解hdfs的源代码,方便部分学员以后对hadoop源码进行修改。最后,还要讲解hadoop的RPC机制,这是hadoop运行的基础,通过该节学习,我们就可以明白hadoop是怎么明白的了,就不必糊涂了,本节内容特别重要。 知识点简单罗列: Ø Hdfs体系结构详述 Ø NameNode、DataNode、SecondaryNameNode体系结构 Ø 如果保证namenode的高可靠 Ø Datanode中block的划分原理和存储方式 Ø 如何修改namenode、datanode数据存储位置 Ø 如何使用命令行操纵hdfs Ø 如何使用java操作hdfs Ø 介绍rpc机制 Ø 通过查看源码,知晓hadoop是建构在rpc之上的 Ø 通过查看hdfs源码,知晓客户端是如何与Namenode通过rpc通信的 04) 介绍MapReduce体系结构及各种算法(1) 本节开始对hadoop核心之一——mapreduce的讲解。mapreduce是hadoop的核心,是以后各种框架运行的基础,这是必须掌握的。在本次讲解中,掌握mapreduce执行的详细过程,以单词计数为例,讲解mapreduce的详细执行过程。还讲解hadoop的序列化机制和数据类型,并使用自定义类型实现电信日志信息的统计。 知识点简单罗列: Ø Mapreduce原理 Ø Mapreduce执行的八大步骤 Ø 详细讲述如何使用mapreduce实现单词计数功能 Ø 详细讲述如何覆盖Mapper功能、如何覆盖Reducer功能。在各种hadoop认证中,这是考察重点 Ø 详细讲述hadoop的自定义类型Writable接口 Ø 通过电信上网日志实例讲述如何自定义hadoop类型 Ø 通过源码讲述hadoop是如何读取hdfs文件,并且转化为键值对,供map方法调用的 05) 介绍MapReduce体系结构及各种算法(2) 本节继续讲解mapreduce,会把旧api的用法、计数器、combiner、partitioner、排序算法、分组算法等全部讲解完毕。通过这两次课程学习,学员可以把整个mapreduce的执行细节搞清楚,把各个可扩展点都搞明白。本节内容在目前市面可见的图书、视频中还没有发现如此全面的哪。 知识点简单罗列: Ø 讲解新旧api的区别,如何使用旧api完成操作 Ø 介绍如何打包成jar,在命令行运行hadoop程序 Ø 介绍hadoop的内置计数器,以及自定义计数器 Ø 介绍了合并(combiner)概念、为什么使用、如何使用、使用时有什么限制条件 Ø 介绍了hadoop内置的分区(partitioner)概念、为什么使用、如何使用 Ø 介绍了hadoop内置的排序算法,以及如何自定义排序规则 Ø 介绍了hadoop内置的分组算法,以及如何自定义分组规则 Ø 介绍了mapreduce的常见应用场景,以及如何实现mapreduce算法 06) 介绍Hadoop集群 hadoop就业主要是两个方向:hadoop工程师和hadoop集群管理员。我们课程主要培养工程师。本节内容是面向集群管理员的,主要讲述集群管理的知识。 知识点简单罗列: Ø 如何搭建hadoop集群 Ø 如何动态增加hadoop从节点 Ø 如何动态修改hdfs的副本数 Ø 如何使用一些常用管理命令 Ø 如何理解安全模式 Ø 如何查看日志等 07) 介绍zookeeper操作 本节内容与hadoop关系不大,只是在hbase集群安装时才用到。但是,zookeeper在分布式项目中应用较多。 知识点简单罗列: Ø Zookeeper是什么 Ø 搭建zookeeper集群环境 Ø 如何使用命令行操作zookeeper Ø 如何使用java操作zookeeper 08) 介绍HBase体系结构及基本操作 hbase是个好东西,在以后工作中会经常遇到,特别是电信、银行、保险等行业。本节讲解hbase的伪分布和集群的安装,讲解基本理论和各种操作。我们通过对hbase原理的讲解,让大家明白为什么hbase会这么适合大数据的实时查询。最后讲解hbase如何设计表结构,这是hbase优化的重点。 知识点简单罗列: Ø Hbase是什么 Ø Hbase数据模型 Ø Hbase存储模型 Ø Hbase的命令行操作 Ø Hbase的java操作 Ø 如何使用mapreduce向hbase批量导入数据 09) 介绍pig操作 Pig是另一套hadoop处理大数据的方法,底层调用的是mapreduce,但是入门的门槛低,书写自由灵活,书写效率与java代码相比非常高,在企业中有较多应用。本节hadoop讲解pig的理论、操作。 知识点简单罗列: Ø Pig是什么 Ø Pig的数据类型、操作 Ø 使用pig完成前面的电信上网日志的统计工作 10) 介绍Hive体系结构及基本操作 Hive作为hadoop领域的数据仓库,支持sql功能,类似于mysql操作,非常好用,在企业中应用非常广泛。 知识点简单罗列: Ø Hive是什么 Ø Hive的体系结构,hive中的表在hdfs中是如何存储的 Ø 讲解如何在linux安装mysql,如何使用mysql作为hive的metastore Ø 通过实例详细讲述hive的内部表、分区表、外部表、桶表 Ø 介绍视图 Ø 介绍hive的自定义函数 11) 介绍Sqoop操作 sqoop适用于在关系数据库与hdfs之间进行双向数据转换的,在企业中,非常常用。 知识点简单罗列: Ø Sqoop是什么 Ø 通过实例讲解Sqoop如何把mysql中的数据导入到hdfs中 Ø 通过实例讲解Sqoop如何把hdfs中的数据导出到mysql中 Ø Sqoop如何做成job,方便以后快速执行 12) Flume操作 Flume是cloudera公布的分布式日志收集系统,是用来把各个的服务器中数据收集,统一提交到hdfs或者其他目的地,是hadoop存储数据的来源,企业中非常流行。 知识点简单罗列: Ø Flume是什么 Ø 详细Flume的体系结构 Ø 讲述如何书写flume的agent配置信息 Ø 讲述flume如何动态监控文件夹中文件变化 Ø 讲述flume如何把数据导入到hdfs中 Ø 通过实例讲解如何通过flume动态监控日志文件变化,然后导入到hdfs中 13) 论坛日志分析项目 该项目的数据来自于黑马程序员论坛的日志,该项目是为本课程量身定做的,非常适合我们hadoop课程学习。有的同学觉得应该介绍更多项目,其实做过几个项目后,就会发现项目的思路是相同的,只是业务不同而已。大家写过这个项目后,就对hadoop的各个框架在项目中是如何使用的,有个比较清晰的认识,对hadoop与javaEE结合有个比较清晰的认识了
    • 2346
  • 全新的高阶段企业级运维课程,由赵班长亲自上阵带队,再一次将运维的技术提升了一个高度。课程内容的主题集中在了大数据自动化运维和企业级Web运维高级架构之上,详尽的解读了Web运维与大数据运维的实战与理论,课程内容包括了Web架构从单机到集群,DNS部署实战,Web架构的缓存体系与存储架构,SaltStack入门实战与高级课程,Zabbix与Jenkins实战,后续的内容还包括了Docker,K8S,KVM,OpenStack等都是必须掌握的架构技术课程。 ===============课程目录=============== 01.Web架构之单机时代 02.Web架构之集群时代 03.Web架构之DNS 04.Web架构之缓存体系 05.Web架构之存储 06.SaltStack入门实战 07.SaltStack实战 08.Zabbix实战 09.Zabbix实战2 10.Jenkins实战 11.Jenkins实战2 12.ELK实战 13.ELK实战2 14.KVM实战 15.OpenStack实战 16.OpenStack实战 17.Docker 18.K8S容器化 19.Hadoop+iTOP 20.SaltStack+OpenStack+Zabbix 课程配套资料.zip (0);目录中文件数:1个 ├─课程配套资料.zip (1)\01.Web架构之单机时代;目录中文件数:7个 ├─1-单机性能优化基础.mp4_.mp4 ├─2-Socket基础和TCP三次握手.mp4_.avi ├─3-TCP四次挥手和Time_wait调优.mp4_.avi ├─4-HTTP长连接和短连接.mp4_.avi ├─5-Nginx优化小知识点.mp4_.avi ├─6-运维知识体系.mp4_.avi ├─7-性能优化杂谈.mp4_.avi (2)\02.Web架构之集群时代;目录中文件数:9个 ├─1.Web集群1.mp4_.avi ├─2.Web集群2.mp4_.avi ├─3.电商架构简介.mp4_.avi ├─4-架构简介2.mp4_.avi ├─5-服务是否能够正确获取用户IP.mp4_.avi ├─6-haproxy快速入门.mp4_.avi ├─7-haproxy案例.mp4_.avi ├─8-haproxy-keepalived.mp4_.avi ├─9-灾备概述.mp4_.avi (3)\03.Web架构之DNS;目录中文件数:6个 ├─bandicam 2018-03-28 08-35-09-313_.avi ├─实战dns-拓展.mp4_.avi ├─实战dns-智能dns主从.mp4_.avi ├─实战dns-构建企业级dns.mp4_.avi ├─实战dns-部署主从同步.mp4_.avi ├─实战dns-部署单节点.mp4_.avi (4)\04.Web架构之缓存体系;目录中文件数:9个 ├─1-缓存知识体系介绍.mp4_.avi ├─2-DNS和浏览器缓存.mp4_.avi ├─3-反向代理缓存Nginx-设置缓存.mp4_.avi ├─4-反向代理缓存Nginx-缓存刷新.mp4_.avi ├─5-中间码缓存.mp4_.avi ├─6-静态化.mp4_.avi ├─7-静态化和分布式缓存.mp4_.avi ├─8-系统和硬件缓存.mp4_.avi ├─9-缓存知识体系回顾.mp4_.avi (5)\05.Web架构之存储;目录中文件数:9个 ├─1-公用云的架构实现.mp4_.avi ├─2-块存储1.mp4_.avi ├─3-文件存储2.mp4_.avi ├─4-文件分发之P2P.mp4_.avi ├─5-数据存储之SSDB.mp4_.avi ├─6-GlusterFS.mp4_.avi ├─7-数据储存-MySQL.mp4_.avi ├─8-MYSQL数据库.mp4_.avi ├─实验手册-存储篇_.docx (6)\06.SaltStack入门实战;目录中文件数:15个 ├─1-自动化运维概述和SaltStack简介.mp4_.avi ├─10-SaltStack案例-Apache监听本地IP地址.mp4_.avi ├─2-SaltStack远程执行.mp4_.avi ├─3-SaltStack配置管理.mp4_.avi ├─4-SaltStack的高级状态.mp4_.avi ├─5-Saltstack配置管理-LAMP状态管理.mp4_.avi ├─6-SaltStack配置管理-状态间关系.mp4.avi ├─7-SaltStack配置管理-状态判断.mp4.avi ├─8-SaltStack配置管理-Tomcat案例.mp4.avi ├─9-SaltStack数据系统-Grains简介.mp4_.avi ├─apache-tomcat-8.0.46.tar_.gz ├─lamp-end_.sls ├─lamp-jinja_.sls ├─tomcat_.sls ├─作业_.txt (7)\07.SaltStack实战;目录中文件数:13个 ├─1-SaltStack生产实践.mp4_.avi ├─10-Salt-ssh介绍.mp4_.avi ├─11-Salt-api介绍.mp4_.avi ├─12-Salt Master高可用.mp4_.avi ├─2-SaltStack-Job Cache.mp4_.avi ├─3-Saltstack远程执行-选择目标.mp4.avi ├─4-Saltstack远程执行-执行模块.mp4_.avi ├─5-SaltStack日常管理.mp4_.avi ├─6-无master架构.mp4.avi ├─7-SaltStack案例实战-zabbix-agent.mp4.avi ├─8-SaltStadck案例实战-Redis部署.mp4.avi ├─9-SaltStack项目案例-设计和规划.mp4.avi ├─salt.zip (8)\08.Zabbix实战;目录中文件数:13个 ├─1-监控系统概述和zabbix简介.mp4_.avi ├─10-Zabbix自定义图形、screen、幻灯片.mp4_.avi ├─2-监控系统-使用SNMP监控.mp4.avi ├─3-Zabbix-使用Agent做监控.mp4.avi ├─4-zabbix-如何查看监控主机.mp4_.avi ├─5-zabbix-邮件告警.mp4_.avi ├─6-Zabbix体系结构.mp4_.avi ├─7-Zabbix自定义item.mp4_.avi ├─8-Zabbix自定义触发器.mp4_.avi ├─9-Zabbix自定义模板.mp4_.avi ├─zabbix-nginx_.conf ├─zabbix_.jpg ├─zabbix_nginx_plugin_.sh (9)\09.Zabbix实战2;目录中文件数:11个 ├─01-课程回顾.mp4_.avi ├─02-Windows自定义监控.mp4_.avi ├─3.Zabbix主动和被动监控.mp4_.avi ├─4-使用Proxy进行监控.mp4_.avi ├─5-Zabbix生产集群架构.mp4_.avi ├─6-Zabbix添加JMX监控.mp4.avi ├─7-Zabbix监控MySQL.mp4_.avi ├─8-Zabbix自动化.mp4_.avi ├─Percona-MySQL-Server-Template_.xml ├─zabbix_.jpg ├─zabbix架构_.png (10)\10.Jenkins实战;目录中文件数:7个 ├─oldboy-1.mp4__.avi ├─oldboy-2.mp4__.avi ├─oldboy-3.mp4_.avi ├─oldboy-4.mp4_.avi ├─oldboy-5.mp4_.avi ├─oldboy-6.mp4_.avi ├─oldboy-7.mp4_.avi (11)\11.Jenkins实战2;目录中文件数:9个 ├─01-Jenkins权限管理.mp4.avi ├─2-Jenkins执行脚本.mp4.avi ├─3-Pipeline初探.mp4.avi ├─4-Jenkins和gitlab集成自动触发.mp4.avi ├─5-测试阶段流水线.mp4.avi ├─6.部署阶段流水线实现.mp4.avi ├─7.自动化部署设计和实现.mp4.avi ├─pipeline案例.txt ├─自动化部署设计.txt (12)\12.ELK实战;目录中文件数:6个 ├─.avi ├─1.elasticsearch 安装及集群配置.mp4_.avi ├─2.logstash 安装及基础使用.mp4_.avi ├─3.kibana 安装及安全认证.mp4_.avi ├─5.tomcaty 日志转json并收集.mp4_.avi ├─6.日志写入数据库.mp4_.avi (13)\13.ELK实战2;目录中文件数:7个 ├─1.logstash收集TCP 日志.mp4_.avi ├─2.通过syslog收集haproxy日志.mp4_.avi ├─3.zookeeper及kafka集群部署.mp4_.avi ├─4.nginx-logstash-kafka-logstash-elasticsearch.mp4_.avi ├─5.filebeat-logstash-kafka-logstash-elasticsearch.mp4_.avi ├─6.收集java日志.mp4_.avi ├─7.图形使用及地图显示.mp4_.avi (14)\14.KVM实战;目录中文件数:6个 ├─1-云计算概述.mp4_.avi ├─2-虚拟化与KVM.mp4_.avi ├─3-KVM虚拟机安装.mp4_.avi ├─4-KVM虚拟机管理.mp4_.avi ├─5-KVM在线resize.mp4_.avi ├─6-KVM管理工具.mp4_.avi (15)\15.OpenStack实战;目录中文件数:0个 (16)\16.OpenStack实战;目录中文件数:7个 ├─1-Horizon部署.mp4_.avi ├─2-深入了解OpenStack虚拟机.mp4_.avi ├─3-自定义Centos镜像.mp4_.avi ├─4-实现阿里云ECS.mp4_.avi ├─5-Cinder作业.mp4_.avi ├─get_metadata_.sh ├─openstack笔记_.txt (17)\17.Docker;目录中文件数:10个 ├─docker-compose.mp4_.avi ├─docker入门讲解.mp4.avi ├─docker单机容器互通.mp4_.avi ├─docker常用命令.mp4_.avi ├─docker数据管理.mp4.avi ├─docker日志收集.mp4_.avi ├─docker网络说明.mp4.avi ├─docker跨主机互通.mp4_.avi ├─docker镜像仓库搭建.mp4_.avi ├─docker镜像构建.mp4_.avi (18)\18.K8S容器化;目录中文件数:8个 ├─1-Docker编排介绍.mp4_.avi ├─2-K8S介绍和Master安装.mp4_.avi ├─3-K8S-Node部署.mp4_.avi ├─4-Flannel网络配置.mp4_.avi ├─5-创建应用.mp4_.avi ├─Docker编排_.pdf ├─nginx-deployment_.yaml ├─nginx-service_.yaml (19)\19.Hadoop+iTOP;目录中文件数:7个 ├─1-ambari安装.mp4_.avi ├─2-使用ambari创建Hadoop集群.mp4_.avi ├─3-HDFS和Hive基本操作.mp4_.avi ├─4-itop部署.mp4_.avi ├─5-iTOP基本使用.mp4_.avi ├─6-以CMDB为核心的自动化.mp4_.avi ├─k8s-源码_.zip (20)\20.SaltStack+OpenStack+Zabbix;目录中文件数:8个 ├─1-自动化扩容流程.mp4_.avi ├─2-自动化扩容实现.mp4_.avi ├─2018运维工程师职业技能图谱_.xlsx ├─auto_.sh ├─cmdb-demo_.xlsx ├─Salt-2017.7.2_.pdf ├─自动化扩容_.txt ├─自动化标准化设计_.txt (21)\04.Web架构之缓存体系\4.架构第四天-9月17日-Web架构之缓存体系;目录中文件数:6个 ├─3-跟赵班长学高性能Web架构-缓存篇.pdf ├─nginx.conf ├─nginx_purge.sh ├─proxy.conf ├─upstrem.conf (22)\15.OpenStack实战\L015-老男孩架构15期-OpenStack实战;目录中文件数:2个 ├─1-OpenStack介绍.mp4_.avi ├─2-OpenStack基础环境准备.mp4.avi (23)\15.OpenStack实战\L015-老男孩架构15期-OpenStack实战-2;目录中文件数:7个 ├─1-Keystone服务.mp4_.avi ├─2-Glance服务.mp4_.avi ├─3-nova-控制节点.mp4_.avi ├─4-nova-compte服务.mp4_.avi ├─5-neutron控制节点.mp4_.avi ├─6-neutron计算节点.mp4_.avi ├─7-创建虚拟机.mp4_.avi
    • 1876
  • GeoHash企业级大数据 用户画像实战应用项目 GeoHash大数据项目实战 作为一个资深技术死宅,我已经是懒癌晚期了,一日三餐基本都懒得做,以前家里堆了各家餐馆的外卖单子,自从有了外卖app,省力省心呀。最爱用的是饿了么,主要是补贴多,但是用着用着我职业病突然犯了。饿了么给用户推送的餐馆信息是按距离排序的,离用户越近的,在餐馆列表中越靠前。这是怎么做到的呢? App后台获取自己的地图位置P,计算所在位置P与北京所有餐馆的距离,然后返回距离<=1000米的餐馆。但是北京的餐馆何其多啊,这样计算不得了,于是想了,既然知道经纬度了,那应该知道自己在朝阳区,那应该计算所在位置P与朝阳区所有餐馆的距离啊,但是朝阳区也很多餐馆啊,应该计算所在位置P与所在街道所有餐馆的距离,这样计算量又小了,效率也提升了。就是通过过滤的方法来减小参与计算的餐馆数目,从某种角度上讲,这里使用索引技术。   一提到索引,大家脑子里马上浮现出B树索引,因为大量的数据库(如MySQL、oracle、PostgreSQL等)都在使用B树。B树索引本质上是对索引字段进行排序,然后通过类似二分查找的方法进行快速查找,即它要求索引的字段是可排序的,一般而言,可排序的是一维字段,比如时间、年龄、薪水等等。但是对于空间上的一个点(二维,包括经度和纬度),如何排序呢?又如何索引呢?解决的方法很多,下文介绍一种方法来解决这一问题。   思想:如果能通过某种方法将二维的点数据转换成一维的数据,那样不就可以继续使用B树索引了嘛。那这种方法真的存在嘛,答案是肯定的。目前很火的GeoHash算法就是运用了上述思想,GeoHash将二维的经纬度转换成字符串,每一个字符串代表了某一地图区域,通过对比字符串来计算距离。不仅外卖app,地图app,大众点评等生活商圈app,都是这样来给用户推荐附近商家的。 关于GeoHash的学习,我这里有一套葵花宝典,赠送给大家 ————————– GeoHash算法能完美的解决地图定位功能中关于按距离排序的需求,比如App中摇一摇附近的人,推荐附近商户等功能是怎么实现的?在用户图像中, ,生活圈等商业兴趣? 1)GeoHash用一个字符串表示经度和纬度两个坐标,比如我现在所在位置的GeoHash值为 wx4sv61q; 2)GeoHash标识的并不是一个点,而是一个区域,比如 wx4sv61q 对应的就是一个矩形区域; 3)编码的前缀可以标识更大的区域,比如 wx4sv61 编码代表的区域要大于 wx4sv61q 代表的区域,但是 wx4sv61q 代表的区域一定在 wx4sv61 代表的区域内。 因此我们再去做距离检索的时候,只需要对GeoHash进行前缀匹配即可,具体的实现请看视频 视频重点: GeoHash算法应用的具体场景,GeoHash算法的实现原理与常见的问题,Base32编码的用法,百度地图GeocodingAPI的应用与实战,GeoHash算法在用户画像上的实战应用 ———————-课程目录—————————— 1.0.实战案例简述.wmv 1.1.业务背景说明.wmv 2.1.感性认识GeoHash算法.wmv 2.2.GeoHash算法实现.wmv 2.3.Base32编码长度与精度.wmv 2.4.GeoHash算法原理.wmv 2.5.GeoHash算法的边界问题.wmv 3.1-2.GeocodingAPI及使用说明.wmv 3.3.GeocodingAPI代码实战.wmv 4.1.GeoHash实战业务流程.wmv 4.2.1.创建应用库数据表.wmv 4.2.2.查询并导入数据到Hbase表中.wmv 4.2.3.查询hbase表,调用百度地图API进行标签识别.wmv 4.2.4.打标签主体代码说明.wmv 4.2.5.打标签代码详解1.wmv 4.2.6.打标签代码详解2.wmv 4.3.1.创建表&导入数据.wmv 4.3.2.调用GeocodingAPI进行数据查询.wmv 4.3.3.打标签任务集群运行.wmv 4.3.3.打标签流程讲解.avi 5.总结.wmv
    • 1827
  • 全新深度算法实战 大数据级算法和数据结构视频教程 全新深度算法实战课程,非常棒的一套数据结构与算法视频教程,课程带领同学们深入大数据级别的算法,解读非常深入的高级问题。这也是首次关于大数据级的算法,换一个视角完善数据结构能力,增加自己大数据领域的学习能力。 课程目录 ├─大数据之数据结构和算法.docx (1)\1;目录中文件数:17个 ├─01_自定义队列1.mp4 ├─02_自定义队列2.mp4 ├─03_链表介绍.mp4 ├─04_单向链表.mp4 ├─05_双向链表.mp4 ├─06_双向循环链表_1.mp4 ├─07_双向循环链表_2.mp4 ├─08_约瑟夫问题.mp4 ├─09_冒泡排序.mp4 ├─10_插入排序.mp4 ├─11_快排原理.mp4 ├─11_聚合结果的获取.mp4 ├─12_快排实现_1.mp4 ├─13_快排实现_2.mp4 ├─14_快排实现_3.mp4 ├─15_归并排序的实现.mp4 ├─16_归并排序的实现_2.mp4 (2)\2;目录中文件数:19个 ├─01_前面碰到的问题.mp4 ├─02_时间复杂度的计算.mp4 ├─03_hash表.mp4 ├─04_树的基本概念.mp4 ├─05_二叉树的一些概念.mp4 ├─06_二叉树的分类.mp4 ├─07_构造一个普通的二叉树和遍历二叉树.mp4 ├─08_一个小bug的解决.mp4 ├─09_排序二叉树_1.mp4 ├─10_排序二叉树_2.mp4 ├─11_排序二叉树中查找元素.mp4 ├─12_关联父节点.mp4 ├─13_删除节点.mp4 ├─14_AVL树的平衡原理.mp4 ├─15_avl树的右右模式(左旋).mp4 ├─16_复习.mp4 ├─16_平衡了root需要调整root.mp4 ├─17_左左情况_右旋.mp4 ├─18_右左情况.mp4 (3)\data-struct1015;目录中文件数:6个 ├─.gitignore ├─data-struct.iml ├─pom.xml ├─scala复习.xmind ├─图示.drawio ├─数据结构图示 (4)\data-struct1015\.idea;目录中文件数:9个 ├─.name ├─codeStyles ├─compiler.xml ├─encodings.xml ├─misc.xml ├─modules.xml ├─sbt.xml ├─vcs.xml ├─workspace.xml (5)\data-struct1015\src (6)\data-struct1015\.idea\libraries;目录中文件数:14个 ├─Maven__com_alibaba_fastjson_1_2_68.xml ├─Maven__com_fasterxml_jackson_core_jackson_annotations_2_3_0.xml ├─Maven__com_fasterxml_jackson_core_jackson_core_2_3_1.xml ├─Maven__com_fasterxml_jackson_core_jackson_databind_2_3_1.xml ├─Maven__com_thoughtworks_paranamer_paranamer_2_6.xml ├─Maven__org_json4s_json4s_ast_2_11_3_2_11.xml ├─Maven__org_json4s_json4s_core_2_11_3_2_11.xml ├─Maven__org_json4s_json4s_jackson_2_11_3_2_11.xml ├─Maven__org_scala_lang_modules_scala_parser_combinators_2_11_1_0_1.xml ├─Maven__org_scala_lang_modules_scala_xml_2_11_1_0_1.xml ├─Maven__org_scala_lang_scalap_2_11_0.xml ├─Maven__org_scala_lang_scala_compiler_2_11_0.xml ├─Maven__org_scala_lang_scala_library_2_11_0.xml ├─Maven__org_scala_lang_scala_reflect_2_11_0.xml (7)\data-struct1015\src\main (8)\data-struct1015\src\main\scala (9)\data-struct1015\src\main\scala\com (10)\data-struct1015\src\main\scala\com\atguigu (11)\data-struct1015\src\main\scala\com\atguigu\datastruct (12)\data-struct1015\src\main\scala\com\atguigu\scala1015;目录中文件数:16个 ├─ApplyDemo.scala ├─CollectionDemo.scala ├─CollectionDemo2.scala ├─ContextGeneric.scala ├─EitherDemo.scala ├─HigDemo2.scala ├─HighDemo1.scala ├─HighDemo3.scala ├─ImplicitDemo.scala ├─ObjectDemo.scala ├─ObjectDemo2.scala ├─ObjMatch.scala ├─OptionDemo.scala ├─Test.scala ├─TreeSetDemo.scala ├─TypeMatch.scala (13)\data-struct1015\src\main\scala\com\atguigu\datastruct\avltree ├─AVLTreeDemo.scala (14)\data-struct1015\src\main\scala\com\atguigu\datastruct\binarytree ├─BinaryTreeDemo.scala (15)\data-struct1015\src\main\scala\com\atguigu\datastruct\hash ├─HashDemo.scala (16)\data-struct1015\src\main\scala\com\atguigu\datastruct\linkedlist;目录中文件数:4个 ├─CircleDoublyLinkedListDemo.scala ├─DoublyLinkedListDemo.scala ├─Josephu.scala ├─SinglyLinkedListDemo.scala (17)\data-struct1015\src\main\scala\com\atguigu\datastruct\queue ├─QueueDemo.scala (18)\data-struct1015\src\main\scala\com\atguigu\datastruct\searchetree ├─SearchBinaryTreeDemo.scala (19)\data-struct1015\src\main\scala\com\atguigu\datastruct\sort;目录中文件数:6个 ├─BubbleSort.scala ├─InsertSort.scala ├─MergeSort.scala ├─package.scala ├─QuickSort.scala ├─Text.scala
    • 1507