数据存储

Hive的基本原理(一)

梦想的初衷 提交于 2020-01-29 09:59:20
1. 前言 前面讲了很多关于集群搭建、以及HDFS和MapReduce的基本操作,接下来终于能学习新的内容了。。 Hive本身是数据仓库,那么什么是数据仓库呢? 数据仓库是为了协助分析报告,支持决策,为需要业务智能的企业提供业务流程的改进和指导,从而节省时间和成本,提高质量。它与数据库系统的区别是,数据库系统可以很好的解决事务处理,实现对数据的“增删改查”操作,而数据仓库则是用来查询分析的数据库,通常不会用来做单条数据的插入、修改和删除。 2. 什么是Hive Hive是基于Hadoop构建的一套数据仓库分析工具,它提供了丰富的SQL查询方式来分析存储在Hadoop分布式文件系统中的数据。可以将结构化的数据文件映射为一张数据库表,并提供完整的SQL查询功能;也可以将SQl语句转化为MapReduce任务运行,通过SQl去查询分析需要的内容。这套类SQL简称为HQL,使对MapReduce不熟悉的用户利用HQL语言查询、汇总、分析数据,简化MapReduce代码,从而使用Hadoop集群。而MapReduce开发人员可以把自己写的Mapper和Reducer作为插件来支持Hive做更复杂的数据分析。 3. Hive和数据库的异同 Hive与传统的关系型数据库不同,虽然Hive提供了类SQL的查询语言(Hive Query Language),但是引入HQL的主要目的是为了降低学习成本

【基础】 存储类:闪存类型SLC、MLC、TLC详解

与世无争的帅哥 提交于 2020-01-28 12:22:18
1、什么是NAND闪存 固态硬盘(SSD)的底层NAND架构因模型而异,NAND闪存的几种类型SLC、MLC、eMLC和TLC具备不同特性。 与机械硬盘(HDD)相比,SSD封装使存储子系统和阵列能够提供出色的应用性能,并能在业务分析和其他工作负载下快速工作。在个人电脑和移动设备中,闪存能够加速应用程序启动时间和加速数据传输。 而且由于闪存没有可移动部件,所以SSD几乎不容易受到突然移动和物理冲击的伤害。另外还有一个优势是,它们也比HDD耗电更少,但SSD在每GB的成本上往往高于HDD。 NAND闪存是用于SSD和存储卡的一种非易失性存储体系结构,它的名字来源于逻辑门(NOT-AND),用于确定数字信息如何存储在闪存设备的芯片中。 2、NAND闪存类型 1)SLC(Single-Level Cell,单层单元) 在每个单元中存储一个Bit,这种设计提高了耐久性、准确性和性能。 对于企业的关键应用程序和存储服务,SLC是首选的闪存技术,价格最高。 2)MLC(Multi-Level Cell,多层单元) 为每个单元存储2个Bit,尽管在存储单元中存储多个Bit似乎能够很好地利用空间,在相同空间内获得更大容量,但它的代价是使用寿命降低,可靠性降低。 相对而言,MLC SSD使得在PC和笔记本电脑上增加闪存成为可能。 3)eMLC(Enterprise Multi-Level Cell

hive 的理解

这一生的挚爱 提交于 2020-01-28 01:20:42
什么是Hive 转自: https://blog.csdn.net/qingqing7/article/details/79102691 1、Hive简介 Hive 是建立在 Hadoop 上的数据仓库基础构架。它提供了一系列的工具,可以用来进行数据提取转化加载(ETL),这是一种可以存储、查询和分析存储在 Hadoop 中的大规模数据的机制。Hive 定义了简单的类 SQL 查询语言,称为 HQL,它允许熟悉 SQL 的用戶查询数据。同时,这个语言也允许熟悉 MapReduce 开发者的开发自定义的 mapper 和 reducer 来处理内建的 mapper 和 reducer 无法完成的复杂的分析工作。 首先,我来说说什么是hive(What is Hive?),请看下图: Hive构建在Hadoop的HDFS和MapReduce之上,用于管理和查询结构化/非结构化数据的数据仓库。 使用HQL作为查询接口 使用HDFS作为底层存储 使用MapReduce作为执行层 Hive的应用 ,如下图所示 这里集群搭建Hive时用到了HA,最后用HAProxy来做代理。 1.1、结构描述 Hive 的结构可以分为以下几部分: 用戶接口:包括 CLI, Client, WU 元数据存储。通常是存储在关系数据库如 mysql, derby 中 解释器、编译器、优化器、执行器 Hadoop:用

安卓--数据存储和访问

陌路散爱 提交于 2020-01-27 20:25:59
实验目的: 分别使用sqlite3工具和Android代码的方式建立SQLite数据库。在完成建立数据库的工作后,编程实现基本的数据库操作功能,包括数据的添加、删除和更新。 实验要求: 创建一个学生管理的应用,基本信息包含学生姓名,班级,学号。采用数据库存储这些信息。 应用应该至少包含信息录入和删除功能。 数据显示考虑采用ListView。 (1) 使用sqlite3工具建库: 使用adb前,需要先把adb加入环境变量:C:\Users\Flyuz\AppData\Local\Android\Sdk\platform-tools 然后在cmd或android studio命令行中进入adb shell。 出现的问题: Android 7 无法获得root 权限 ,不能进入data/data/com.example.flyuz.sqlite6文件夹,所以不能建库, 解决方法:1 在命令行中前后使用 adb root adb remount (我不管用) 2 使用Android 6的虚拟机即可获得root权限。 步骤: 进入adb shell cd data/data/com.example.flyuz.sqlite6 建数据库文件夹 mkdir databases 建数据库 sqlite3 student.db Create table studentinfo(num text

Hive性能优化

帅比萌擦擦* 提交于 2020-01-26 17:27:17
http://www.cnblogs.com/smartloli/ 1.概述   这个标题也是用血的教训换来的,希望对刚进入hive圈的童鞋和正在hive圈爬坑的童鞋有所帮助。打算分以下几个部分去描述: Hive的结构 Hive的基本操作 Hive Select Hive Join Hive UDF Hive的M/R 使用Hive注意点 优化及优化详情 优化总结 调优的经常手段 解决Hive问题的途径   这篇文章只是起个头,为描述其他部分做下准备。下面我赘述下Hive的结构和一些基本的操作。 2.介绍    Hive 是建立在 Hadoop 上的数据仓库基础构架。它提供了一系列的工具,可以用来进行数据提取转化加载(ETL),这是一种可以存储、查询和分析存储在 Hadoop 中的大规模数据的机制。Hive 定义了简单的类 SQL 查询语言,称为 HQL,它允许熟悉 SQL 的用户查询数据。同时,这个语言也允许熟悉 MapReduce 开发者的开发自定义的 mapper 和 reducer 来处理内建的 mapper 和 reducer 无法完成的复杂的分析工作。   首先,我来说说什么是hive(What is Hive?),请看下图:   由于是在Retina下截的屏,为避免网络原因显示不出图片,这里为也用文字描述以下。这个和介绍中描述的内容大致是一致的

redis数据存储结构

旧时模样 提交于 2020-01-26 11:52:08
1.redis中以key-value的形式存储,key固定是字符串,使用字符串对象进行表示,value可以是字符串(String)、列表(List)、哈希(Hash)、集合(Set)、有序集合(ZSet)。 2.在内存中,每个Key-Value都被划分成DictEntry、RedisObject以及具体对象,DictEntry又分别包含指向Key和Value的指针,以及指向下一个DicEntry的指针,指向key和value的指针也是以RedisObject的形式 3.redis使用了自定义的字符串类型,不同于C语言的字符串,redis使用sdshdr结构来表示字符串对象(SDS) struct sdshdr {   int len;   int free;   char buf[]; } len属性:字符串的长度 free属性:未使用的字节数量 buf数组:字符串的底层实现用于存储字符 buf数组中会有\0空字符,该空字符不会记录在len属性中 C语言中存储的字符串的字节数组长度是其总长度的N+1,因为最后一个是结束符,所以如果要对字符串进行追加,需要重新分配内存,redis的SDS通过未使用空间解除了字符串长度和底层数组长度之间的关系,在SDS中buf的长度不一定就是字符串长度+1,数组里面还可以包含未使用的字节,通过这种未只用的空间

Android数据存储方式

非 Y 不嫁゛ 提交于 2020-01-25 05:02:14
在做项目的时候,常常需要对数据进行保存,Android为我们提供了五种数据存储的方法,分别是: 使用SharedPreferences存储数据 文件存储数据 SQLite数据库存储数据 使用ContentProvider存储数据 网络存储数据 在开发的过程中,我们可以根据需要,选择合适的存储方式,下面对前三种方式进行详细的介绍。 一、使用SharedPreferences存储数据   SharedPreference类提供了一个总体框架,使您可以保存和检索的任何基本数据类型( boolean, float, int, long, string)的持久键-值对(基于XML文件存储的“key-value”键值对数据)。通常用来存储程序的一些配置信息。其存储在“data/data/程序包名/shared_prefs目录下。 1、我们可以通过以下两种方法获取SharedPreferences对象(通过Context) :  getSharedPreferences (String name, int mode)  ->当我们有多个SharedPreferences的时候,根据第一个参数name获得相应的SharedPreferences对象。  getPreferences (int mode)  ->如果你的Activity中只需要一个SharedPreferences的时候使用。

ARM内核的数据存储

无人久伴 提交于 2020-01-22 03:29:07
ARM映像文件的组成: 一个映像文件由一个或多个域(region,也有译为“区”)组成 每个域包含一个或多个输出段(section,也有译为“节”) 每个输出段包含一个或多个输入段 各个输入段包含了目标文件中的代码和数据 输入段中包含了四类内容:代码、已经初始化的数据、未经过初始化的存储区域、内容初始化为零的存储区域。 每个输入段有相应的属性:只读的(RO)、可读写的(RW)以及初始化成零的(ZI)。 到这里我们就可以知道,一般情况下,代码会被放到RO属性的输入节, 已经初始化的变量会被分配到RW属性输入区,而“ZI”属性输入节可以理解为是初始化成零变量的集合。 Total RO Size (Code + RO Data) 54520 ( 53.24kB) Total RW Size (RW Data + ZI Data) 6088 ( 5.95kB) Total ROM Size (Code + RO Data + RW Data) 54696 ( 53.41kB) 对于一个变量,它可能有三种属性: 1、用const修饰符修饰的变量最可能放在RO属性区。 2、已经初始化的变量会放在RW属性区。 3、那么剩下的变量就要放到ZI属性区了。 来源: CSDN 作者: 宁静以致墨 链接: https://blog.csdn.net/baiyibin0530/article/details

通过ArcGIS将数据存储到SQL Server2012中

谁说我不能喝 提交于 2020-01-18 19:48:41
一.软件安装: ARCGIS 10.3安装 SQLserver2012安装 ARCGIS 10.3 安装(注意ARCGIS10.3并不用安装配置ARCSDE)、 https://wenku.baidu.com/view/614d6977227916888586d707.html    2.SQLserver2012安装教程: https://jingyan.baidu.com/article/9080802211bae4fd91c80f3d.html 二:配置SQLserver2012 1:启动sql服务 开始菜单—>sqlserver2012—>配置工具—>sqlserver配置管理器—>选择 sqlserver服务—>在右侧面板中右键启动sql server(mssqlserver)(若是win10系统可忽略这一步) 2:登录SQLserver2012 (1) 开始菜单搜索sqlserver2012->打开SQLserver2012 Management Studio 身份验证:两种方式    A.sql server 身份认证 输入设置的登录名及密码;(如果忘记密码,参照4(2)、修改sql server用户名密码) B. windows 身份认证 自动录入本机登陆的管理员用户名,无需密码    3.新建空间数据库(接下来导入的数据库文件放这里)    右键点击”数据库“—

vSphere vCenter Web Client 6.X将文件上传到数据存储时出错

不羁岁月 提交于 2020-01-17 07:43:48
尝试将任何文件上传到 VMware vSphere 基础结构中的数据存储时,将文件上传到数据存储时会出现错误,并且操作未完成且失败。 要找出错误的原因,您可以单击 “ 详细信息 ” 以获取其他信息。 查看错误的详细信息,问题的原因是由于浏览器使用了 不受信任的证书 。 查看浏览器, vCenter Server URL 被标记为 “ 不安全 ” 。该失败是由于 用于连接 vCenter Server 的不受信任的证书引起的。 解决将文件上传到数据存储的问题 要解决此错误,请打开您喜欢的浏览器并输入 vCenter Server 的地址, 而不指定 要使用的 任何客户端 (闪存或 HTML ),例如 https : // vCenter_address 。单击右侧的 “ 下载受信任的根 CA 证书 ” 链接。 一种 。 ZIP 文件已下载 到您的本地计算机中。访问。 ZIP 文件文件 夹位置以提取证书。 将下载的文件解压缩到计算机的文件夹中。为支持的操作系统提取三个文件夹: lin , mac , win 。 右键单击 Windows 菜单图标,然后选择 “ 运行 ” 。输入 mmc ,然后按 Enter 打开管理控制台。 从菜单中选择 文件 > 添加 / 删除管理单元 。 选择 证书 项,然后单击 添加 。 选择 “ 计算机帐户 ” 选项,然后单击 “ 下一步 ” 。 选择