10 2019 档案
摘要:1.内部表和外部表的区别? 在导入数据时,外部表并没有把数据移动到自己对应的数据仓库的目录下,也就说外部表中的数据并不是由它自己来管理的! 在删除表的时候,hive将会把属于表的元数据和数据全部删掉,而删除外部表的时候,hive仅仅删除外部表的元数据,数据是不会删除的。 2. hive四种排序方式的
阅读全文
摘要:1.类和对象 //1. Scala中类和对象的创建 object Demo01 {//单例对象,里边是用来定义静态内容的 //定义一个类 //1. 如果构造器是空的可以省略(),2. 如果类时空的可以省略{} class Person //程序的入口,相当于java中的main方法 def main
阅读全文
摘要:1. HDFS架构是怎样的? hadoop1.x中采用master/slave架构,hdfs集群有一个namenode和多个datanode组成。 namenode namenode负责原数据的管理,包括文件目录和文件的元数据管理。 namenode文件到block块位置的映射,namenode并不
阅读全文
摘要:1. 事务的四大特性 原子性:不可分割的单元,事务中的所有操作,要么全部成功,要么撤回执行事务之前的状态。例如:转账A减钱,B加钱。 一致性:如果执行事务前数据库是一致的,那么在执行事务之后数据库也是一致的。例如:转账前A和B总金额是一万元,转账后总金额也是一万元。 隔离性:一个事务的执行不应该受到
阅读全文
摘要:1. sleep()和wait()方法的区别? sleep让线程休眠指的时间,到时间线程会自动醒来 wait让线程处于等待的状态,线程不会自动醒来,必须被唤醒。//notify(),notifyAll() 2. wait(),notify(),notifyAll(),为什么定义到Object类中,而
阅读全文
摘要:1. 什么是JVM JVM(Java Virtual Machine)是用来保证java的跨平台性的,将.class字节码文件转换成操作系统能够直接识别的指令,它的本质是一个进程。 2. Java对象编译过程 主要分为两个部分: 源文件编译成字节码对象 字节码由java虚拟机解释执行 3. 类加载器
阅读全文
摘要:1. 消息队列的介绍 消息队列:一种应用间的通信方式,消息发送后立即返回。 我们可以把消息队列比作是一个存放消息的容器,当我们使用消息的时候可以取出消息供自己使用,消息队列是分布式系统中的重要组件,使用消息队列主要是为了异步处理提高系统性能和削峰,降低系统耦合性。 https://www.jians
阅读全文
摘要:1. 流量分析 a. 基础指标多维度统计分析 统计 PageView 浏览次数(pv) select count(*) from ods_weblog_detail where datestr ="20181101" and valid = "true"; 排除静态资源 统计Unique Visit
阅读全文
摘要:1. Hive基本操作 a. DML操作 load:加载时只是把数据文件移动到hive表对应的位置。 loacl如果指定了就在本地的文件系统,local会将本地文件系统的文件复制到目标文件系统中。 overwrite:如果使用了overwrite目标表或者分区中的内容就会被覆盖。 loacl如果指定
阅读全文
摘要:1. 读取myuser这张表当中的数据写入到HBase的另外一张表当中去 package com.itheima; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.conf.Configured; impor
阅读全文
摘要:package com.itheima; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.*; import org.apache.hadoop.hbase.client.*; import or
阅读全文
摘要:1. Hbase与hive的对比 A. Hive(数据仓库):Hive的本质其实就相当于将HDFS中已经存储的文件在mysql中做了一个双射关系,以便使用HSQL查询。hive适用于离线数据的分析和清洗,延迟较高。hive基于hdfs和mapreduce。 B. HBase(数据库):列式存储的非关
阅读全文
摘要:1. HBase基本介绍 a. 介绍 Hbase是一个nosql的列式存储的数据库。实际来源于Google发表的论文bigtable。构建在hdfs基础之上。 b. Hbase的特点 2. Hbase和hadoop的关系 a. hdfs b. Hbase 总结:紧耦合关系,Hbase依赖于hdfs
阅读全文
摘要:1. Apache Oozie Oozie是一个工作流调度系统。Oozie是运行于Java Servlet容器上的一个java web应用。Oozie是按照有向无权图(DAG)调度方式,使用xml文件配置工作流。最初是由Cloudear公司开发,后来贡献给Apache a. apache Oozie
阅读全文
摘要:1. MapReduce的思想 MapReduce的思想就是“分而治之”,他适用于大量复杂的任务场景(大规模数据的处理场景)。MapReduce是一款分布式运算框架,核心功能是将用户编写的业务代码和自带的默认组件整合成一个完整的分布式计算程序,并发在hadoop集群上。 Map负责“分”,就是把复杂
阅读全文
摘要:1. MapReduce执行流程详解 首先读取数据的组件InputFormat(默认是TextInputFormat)会通过getSplits方法对输入目录中的文件进行逻辑切片得到splits,默认有多少个splits就有多少个maptask,split默认是与block块一对一关系。 输入文件切成
阅读全文
摘要:Flume是Cloudera提供的一个高可用的,高可靠的,分布式海量日志采集,聚合的传输软件 2. Flume架构 3.Flume的运行机制 Flume的核心角色是agent,本身是一个java进程,一般运行在日志收集节点,每个agent有以下三个组件 source:采集源数据,跟数据源对接,获取数
阅读全文
摘要:1. HDFS的元数据管理 按照类型分为:文件,目录自身属性的信息。文件记录的信息,储存相关的信息。datanode的信息。 按照形式分为:内存元数据,元数据文件,分别存在内存和磁盘上面。 HDFS磁盘上元数据分为两类,用于持久化存储: fsimage镜像文件:是元数据的一个持久化的检查点,包含ha
阅读全文
摘要:1. yarn白话介绍 hadoop yarn是一种新的hadoop资源管理器,它是一个通用的资源管理系统和调度平台,可为上层应用提供统一的资源管理和调度。 可以吧yarn理解为一个分布式操作系统平台,而mapreduce等运算程序相当于运行于操作系统之上的应用程序,yarn为这些程序提供运算所需要
阅读全文
摘要:牛客网连接:https://www.nowcoder.com/practice/8ee967e43c2c4ec193b040ea7fbb10b8?tpId=13&tqId=11164&tPage=1&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-inter
阅读全文
摘要:题目描述: 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。 思路: 采用分治法,先找到根节点,再根据根节点找到左右子树序列,在判断左右子树序列是否满足二叉树的后序遍历。 由题意可知,后序遍历序列最后一个元数就
阅读全文
摘要:1. 模块开发之数据仓库设计 a. 维度建模的基本概念(如何来构建数仓中的表) 维度建模是专门应用于分析型数据库,数据仓库,数据集市建模的方法。(不能用于关系型数据库)。 事实表:一般和分析的主题有关 需求:分析最近一年的订单销售情况 主题:订单 事实表:分析主题的度量(订单详细数据) 特点:一堆主
阅读全文
摘要:牛客网连接:https://www.nowcoder.com/practice/54275ddae22f475981afa2244dd448c6 思路说明:设置两个栈,in栈负责push数据,out栈负责pop数据,当想要push实收直接in.push,当想要出队列的时候,in栈先出,在进入out栈
阅读全文