一.概述 根据之前的凡技术必登其官网的原则,我们当然先得找到它的官网:http://hadoop.apache.org/ 1.什么是hadoop 先看官网介绍: The Apache™ Hadoop® project develops open-source software for reliable, scalable, distributed computing. The Apache Hadoop software library is a framework that allows fo…
一.Hadoop Shell命令 既然有官方文档,那当然先找到官方文档的参考:http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/FileSystemShell.html 对于3种命令的区别: 以下内容参考自stackoverflow Following are the three commands which appears same but have minute differences hadoop…
一.概述 今天起就正式进入了流式计算.这里先解释一下流式计算的概念 离线计算 离线计算:批量获取数据.批量传输数据.周期性批量计算数据.数据展示 代表技术:Sqoop批量导入数据.HDFS批量存储数据.MapReduce批量计算数据.Hive批量计算数据.***任务调度 ,hivesql .调度平台 .Hadoop集群运维 .数据清洗(脚本语言) .元数据管理 .数据稽查 .数据仓库模型架构 相关技术栈与应用 流式计算 流式计算:数据实时产生.数据实时传输.数据实时计算.实时展示 代表技术:Fl…
一.概述 1.什么是scala  Scala是一种多范式的编程语言,其设计的初衷是要集成面向对象编程和函数式编程的各种特性.Scala运行于Java平台(Java虚拟机),并兼容现有的Java程序. 官网:http://www.scala-lang.org/ scala 特性:   面向对象特性. 函数式编程 静态类型 扩展性 并发性 详细的阐述,参考菜鸟教程:http://www.runoob.com/scala/scala-intro.html 易百教程:https://www.yiibai…
一.推荐系统概述 为了解决信息过载和用户无明确需求的问题,找到用户感兴趣的物品,才有了个性化推荐系统.其实,解决信息过载的问题,代表性的解决方案是分类目录和搜索引擎,如hao123,电商首页的分类目录以及百度,360搜索等.不过分类目录和搜索引擎只能解决用户主动查找信息的需求,即用户知道自己想要什么,并不能解决用户没用明确需求很随便的问题.经典语录是:你想吃什么,随便!面对这种很随便又得罪不起的用户(女友和上帝),只能通过分析用户的历史行为给用户的兴趣建模,从而主动给用户推荐能够满足他们兴趣和需…
一.kafka文件存储机制 1.topic存储 在Kafka文件存储中,同一个topic下有多个不同partition,每个partition为一个目录,partiton命名规则为topic名称+有序序号,第一个partiton序号从0开始,序号最大值为partitions数量减1. 以上面创建的topic_1为例,在mini1这台机器上的目录如下: 综合查看3台机器的分布,如下所示: mini1: 1 2 3 mini2: 0 2 3 mini3: 0 1 // 这里是设置了副本数量,如果为了…
一.概述 1.kafka是什么 根据标题可以有个概念:kafka是storm的上游数据源之一,也是一对经典的组合,就像郭德纲和于谦 根据官网:http://kafka.apache.org/intro 的解释呢,是这样的: Apache Kafka® is a distributed streaming platform   ApacheKafka®是一个分布式流媒体平台 l Apache Kafka是一个开源消息系统,由Scala写成.是由Apache软件基金会开发的一个开源消息系统项目. l…
一.基本概念 1.什么是hive The Apache Hive ™ data warehouse software facilitates reading, writing, and managing large datasets residing in distributed storage using SQL. Structure can be projected onto data already in storage. A command line tool and JDBC driv…
一.概述 1.map-reduce是什么 Hadoop MapReduce is a software framework for easily writing applications which process vast amounts of data (multi-terabyte data-sets) in-parallel on large clusters (thousands of nodes) of commodity hardware in a reliable, fault-…
一.多线程基础回顾 先导知识在基础随笔篇:http://www.cnblogs.com/jiangbei/p/6664555.html 以下此部分以补充为主 1.概念 进程:进行中的程序,内存中有独立的内存空间 线程:进程中的多个顺序控制流 2.Java中实现线程的两种方式 参考上文(继承thread类与实现runnable接口) 3.同步synchronized的用法 参考上文(同一时间只能有一个线程执行) 4.lock 外部的锁类,参考:https://www.cnblogs.com/dol…