![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
谈笑间学会大数据
文章平均质量分 85
MrZhangBaby
世界上并没有完美的程序,
但我们并不因此而沮丧,
因为写程序本来就是一个不断追求完美的过程。
你可以不够优秀,但不要甘于平凡。
展开
-
谈笑间学会大数据—Mac系统ssh免密登录配置教程
Mac系统ssh免密登录配置教程原创 2022-12-15 14:58:29 · 776 阅读 · 1 评论 -
谈笑间学会数据仓库-为什么要维度建模?
是不是有很多人在学习数据仓库——维度建模的时候会有这种疑问呢?到底有何意义呢?请看下面通俗易懂的描述凡是建设数据仓库,一定会提到维度建模方法。这一方法是Kimball最先提出的,其最简单的描述就是,按照事实表、维度表来构建数据仓库、数据集市。在维度建模方法体系中,维度是描述事实的角度,如日期、商品、地址等,事实是要度量的指标,如用户数、销售额等。按照一般书籍的介绍,维度建模还会分为星型模型、雪花模型等,各有优缺点,但很少直接回答一个问题,也就是数据仓库为什么要采用维度建模?这个...原创 2021-08-20 17:48:58 · 824 阅读 · 0 评论 -
谈笑间学会数仓—大数据建模过程
谈笑间学会数仓—大数据建模过程首先我们先来了解一下,大数据建模都需要遵循哪些原则呢?先来列举一下建模原则高内聚和低辑合将业务相近或者相关、粒度相同的数据设计为一个逻辑或者物理模型:将高概率同 时访问的数据放一起 ,将低概率同时访问的数据分开存储。核心模型与扩展模型分离建立核心模型与扩展模型体系,核心模型包括的宇段支持常用的核心业务,扩展模型包括的字段支持个性化或少量应用的需要 ,不能让扩展模型的宇段过度侵人核心模型,以免破坏核心模型的架构简洁性与可维护性。公共处理逻辑下沉及单一越原创 2021-05-12 18:11:31 · 1368 阅读 · 2 评论 -
谈笑间学会数仓—维度层设计④
谈笑间学会数仓—维度层设计④特殊维度1.1、递归层次上篇博客已经了解了维度的层次结构,即维度属性以层次方式或一对多的方式相互关联;或者描述为不同维度之间的主从关系,比如商品和类目的关系、商品和品牌的关系等。递归层次指的是某维度的实例值的层次关系,比如淘宝类目体系,如下图所示:维度的递归层次,按照层级是否固定分为均衡层次结构和非均衡层次结构。比如类目,有固定数量的级别,分别是叶子类目、五级类目、四级类目、三级类目、二级类目、一级类目;地区,分别是乡镇/街道、区县、城市、省份、国家,对于这种具有固定数原创 2021-01-06 17:05:55 · 838 阅读 · 0 评论 -
谈笑间学会数仓—维度层设计④
谈笑间学会数仓—维度层设计④极限存储1.1、历史拉链存储历史拉链存储是指里用维度模型中缓慢变化维的第二种处理方式。这种处理方式是通过新增两个时间戳字段(start_dt 和 end_dt 命名仅供参考),将所有以天为粒度的变更数据记录下来。通常分区字段也是时间戳字段。举个例子:2020年1月1日,卖家A在淘宝网发布了B、C两个商品,前端商品表将生成两条记录t1、t2 ; 1月2日,卖家A将B商品下架了,同时又发布了商品D,前端商品表将更新记录t1,又新生产记录t3; 采用全量存储方式,在1月1日原创 2021-01-05 17:47:27 · 274 阅读 · 0 评论 -
浅谈数据中台
数据中台数据汇聚数据汇聚是数据中台必须提供的核心工具,把各种异构网络、异构数据源的数据方便地采集到数据中台中进行集中存储,为后续的加工建模做准备。数据汇聚方式一般有数据库同步、埋点、网络爬虫、消息队列等;从汇聚的时效性来分,有离线批量汇聚和实时采集。数据采集工具Canal、DataX、Sqoop数据开发数据开发模块主要面向开发人员、分析人员,提供离线、实时、算法开发工具。离线开发作业调度依赖调度:所有父作业运行完成后,当前作业才能开始运行。图64中的作业B,只有父作业A和C运行原创 2021-01-04 15:43:50 · 793 阅读 · 0 评论 -
谈笑间学会数仓—维度层设计③
谈笑间学会数仓—维度层设计③缓慢变化维数据仓库的重要特点之一是反映历史变化,所以如何处理维度的变化是维度设计的重要工作之一。缓慢变化维的提出是因为在现实世界中,维度的属性并不是静态的,它会随着时间的流逝发生缓慢的变化。与数据增长较为快速的事实表相比,维度变化相对缓慢。在一些情况下,保留历史数据没有什么分析价值;而在另外一些情况下,保留历史数据将会起到至关重要的作用。在Kimball的理论中,有三种处理缓慢变化维的方式,下面通过简单的实例进行说明。第一种处理方式:重写维度值采用此种方式,不保留历史数原创 2020-10-27 18:07:57 · 463 阅读 · 0 评论 -
谈笑间学会数仓—dim层设计②
维度整合数据仓库的定义:数据仓库是一个面向主题的、集成的、非易失的且随时间变化的数据集合,用来支持管理人员的决策。其中集成是数据仓库的四个特性中最重要的一个。数据仓库的重要数据来源是大量的、分散的面向应用的操作型环境。不同的应用在设计过程中,可以自由决策,主要满足本应用的需求,很少会考虑和其他系统进行数据集成。应用之间的差异具体表现在如下几个方面:应用在编码、命名习惯、度量单位等方面会存在很大的差异。比如不同应用对于用户的性别编码不同,有0和1、F和M等;不同应用的用户ID含义相同,但字段名称不同原创 2020-10-14 15:49:12 · 1102 阅读 · 0 评论 -
谈笑间学会数仓—dim层设计①
谈笑间学会数仓—维度层设计①维度的基本概念维度是维度建模的基础和灵魂。在维度建模中,将度量称为“事实”,将环境描述为“维度”,维度是用于分析事实所需要的多样环境。例如,在分析交易过程时,可以通过买家、卖家、商品和时间等维度描述交易发生的环境。维度所包含的表示维度的列,称为维度属性。维度属性是查询约束条件、分组和报表标签生成的基本来源,是数据易用性的关键。例如,在查询请求中,获取某类目的商品、正常状态的商品等,是通过约束商品类目属性和商品状态属性来实现的;统计淘宝不同商品类目的每日成交金额,是通过商品维原创 2020-09-25 18:11:06 · 2677 阅读 · 0 评论 -
谈笑间学会数仓—主题域&&数据域
谈笑间学会数仓—主题域&&数据域在之前的文章里虽然没有按照顺序来,但是基本上都介绍了数据仓库建设的大概流程,比如技术架构方案设计、建模方法论、数仓分层、开发规范、数仓建设中的各种事实表、维度表、事务事实表、累计快照表、周期快照表、流水表、增量表、全量表等常用的表。那么下面再来说一下,漏掉的东西。那就是数仓建设中不可缺少的一环—域的划分。域又分为主题域、数据域,如何划分呢?一起来看一下吧~为什么会有域的概念呢?首先来看看数据仓库的定义吧,数据仓库是一个面向主题的、集成的、相对稳定的、反映原创 2020-09-08 17:01:46 · 7677 阅读 · 0 评论 -
谈笑间学会数仓—开发规范
谈笑间学会数仓—开发规范文章目录谈笑间学会数仓—开发规范前言数据库/表命名规范数据库公共维表 dim公共明细层 dwd公共汇总层 dws应用数据层 ads临时存储层 tmp字段命名规范关键字字段类型规范常用系统词汇SQL 编码规范编码原则基本需求编码规范代码头部字段排序要求select 子句排列与运算符前后间隔要求子查询嵌套编写与别名定义注释总体说明表设计规范表设计分区设计表数据存储规范前言为提高开发的进度,大数据中台开发,需要一套约定的数据库表与字段的命名规范,避免在后续开发中使用原来数据库表时,因原创 2020-09-07 17:37:47 · 522 阅读 · 0 评论 -
谈笑间学会数仓—建模方法论
谈笑间学会数仓—建模方法论ER模型数据仓库之父Bill Inmon提出的建模方法是从全企业的高度设计的一个3NF模型,用实体关系(Entity Relationship,ER)模型描述企业业务,在范式理论上符合3NF。数据仓库中的3NF与OLTP系统中的3NF的区别在于,它是站在企业角度面向主题的抽象,而不是针对某个具体业务流程的实体对象关系的抽象。其具有以下几个特点:需要全面了解企业业务和数据实施周期非常长对建模人员的能力要求非常高采用ER模型建设数据仓库模型的出发点是整合数据,将各个系统原创 2020-09-03 17:34:54 · 703 阅读 · 2 评论 -
谈笑间学会数仓—周期快照表&累积快照表
周期快照表按固定周期对事实表进行统计生成的表,按时间段保存记录,增量更新。应用场景需要统计一个季度的商品成交量怎么取做?如果用一个季度内的事实事务表进行计算,虽然可以得出结果但是效率太低,在实际生产中并不可行,因此,需要定期对指定的度量进行整合,作为周期快照表用于下游应用。一般设计事实表时,事务事实表和周期快照表是成对设计的,大部分的周期表由事务表加工产生,还有部分特殊数据是直接应用系统产生(如订单评价)。概念定义周期快照事实表以具有规律性的、可预见的时间间隔来记录事实,时间间隔如每天、每月、每年原创 2020-09-01 15:15:06 · 4811 阅读 · 2 评论 -
Impala中的invalidate metadata 和refrsh
Impala中的invalidate metadata 和refrshimpala是啥子?Impala是基于Hive的大数据实时分析查询引擎,直接使用Hive的元数据库Metadata,意味着impala元数据都存储在Hive的metastore中。并且impala兼容Hive的sql解析,实现了Hive的SQL语义的子集,功能还在不断的完善中。Impala与Hive有什么关系?Impala 与Hive都是构建在Hadoop之上的数据查询工具各有不同的侧重适应面,但从客户端使用来看Impala与Hi原创 2020-08-31 15:27:48 · 1082 阅读 · 0 评论 -
谈笑间学会数仓—拉链表&&流水表
拉链表 && 流水表前言拉链表:维护历史状态,以及最新状态数据的一种表,拉链表根据拉链粒度的不同,实际上相当于快照,只不过做了优化,去除了一部分不变的记录而已,通过拉链表可以很方便的还原出拉链时点的客户记录。流水表: 对于表的每一个修改都会记录,可以用于反映实际记录的变更。适用场景对比拉链表通常是对账户信息的历史变动进行处理保留的结果,流水表是每天的交易形成的历史;流水表用于统计业务相关情况,拉链表用于统计账户及客户的情况数据仓库之拉链表(原理、设计以及在Hive中的实现)原创 2020-08-27 18:54:08 · 1790 阅读 · 0 评论 -
谈笑间学会数仓—全量表&&增量表
全量表全量表增量表数据包含到前一天的全量数据前一天的增量数据分区不分区(ymd为当前日期)(但是也有按天全量设计的,也叫全量表)按照每一天分区保存每天所有的最新状态的数据。(1)全量表,有无变化,都要报(2)每次上报的数据都是所有的数据(变化的 + 没有变化的)一般导入数据时,不进行任何操作导入的数据就是全量表。例如:平时使用sqoop直接导入,或者load加载,不需要任何特殊的操作,全表覆盖或者先删除表再插入数据,就是全量表。以用户表为例,假设该表从2原创 2020-08-24 18:12:05 · 3937 阅读 · 0 评论 -
谈笑间学会数仓—维度表概念及设计案例
维度表维度定义从某个角度观察事实数据的窗口,存储的数据用来从某个角度描述事实。维度表可以看成是用户用来分析一个事实的窗口,它里面的数据应该是对事实的各个方面描述,比如时间维度表,它里面的数据就是一些日,周,月,季,年,日期等数据,维度表只能是事实表的一个分析角度。换句话说 维度表可以看作是用户来分析数据的窗口,维度表中包含事实数据表中事实记录的特性,有些特性提供描述性信息,有些特性指定如何汇总事实数据表数据,以便为分析者提供有用的信息,维度表包含帮助汇总数据的特性的层次结构。维度的构成维度的元素:维原创 2020-08-21 11:52:35 · 2546 阅读 · 0 评论 -
Hadoop3.0初探-部署安装Hadoop
Hadoop3.0初探目录Hadoop3.0初探为什么要搞这篇博客呢?安装包下载首先配置ssh免密登录部署Hadoop安装前检查本地环境并安装jdk下载地址安装成功校验安装Hadoop下载对应安装包解压 && 并修改配置文件报错异常一报错异常二最后再贴一个环境变量的配置为什么要搞这篇博客呢?就是目前hadoop3.0 也出来很久了呢,想着自己本地搭建一套玩一下~MacBook Pro (13-inch, 2020, Four Thunderbolt 3 ports)2 GHz 四原创 2020-08-20 18:15:07 · 857 阅读 · 0 评论 -
谈笑间学会Hive—你不知道的2concat*
2concat*是啥子?指的是hive中的concat()函数、concat_ws()函数为啥子写呢?今天在核对数据的时候发现了一个问题,问题产生的原因是这样的。核对数据需要参照表对吧?不管是父表还是兄弟姐妹表,总之是要有关联的,才有办法核对数据嘛。怎么核数呢?核对表与对照表的数据量、记录数情况核对表中主键个数及是否存在重复(可能有人会说,既然是主键重复p呀,核算什么?大哥这里用的Hive没有主键的概念哦~)对照表 && 结果表进行关联核数,根据结果判断是否有异常主键数据原创 2020-08-19 15:23:06 · 288 阅读 · 0 评论 -
谈笑间学会数仓—表的种类和特征-事务事实表
谈笑间学会数仓—表的种类和特征-事务事实表事务事实表概念可以看做是保存某一事务的日志数据,事务一旦被提交就成为历史数据,只能以增量的方式维护。事务事实表记录的事务层面的事实,保存的是最原子的数据,也称“原子事实表”。事务事实表中的数据在事务事件发生后产生,数据的粒度通常是每个事务记录一条记录。一旦事务被提交,事实表数据被插入,数据就不再进行更改,其更新方式为增量更新。由于事实表具有稀疏性质 ,因此只有当天数据才会进入 当天的事实表中,相当于每个分区里面都是每天的数据,不包含之前的数据。事务事实表的原创 2020-08-19 11:16:26 · 778 阅读 · 0 评论 -
谈笑间学会数仓-技术架构设计
谈笑间学会-数仓技术架构设计1、前言为何要谈数据仓库技术架构设计呢?技术架构设计是建设数仓的必备因素之一,分层架构为我们捋清了数据的架构及分层规范,并没有真正落地到具体的实施?有人说技术架构有什么好设计的?直接开整呗?事实上并不是如此,成功始于计划,终于变化~总而言之,言而总之,数仓设计是需要有技术方案来落地的。那么主要包含哪些呢?离线、实时、离线+实时呗2、离线技术架构首先我们来看一波架构图吧小结离线技术架构无非包括以下几块内容的技术选型数据采集:data原创 2020-08-10 16:19:36 · 570 阅读 · 2 评论 -
谈笑间学会数仓-分层架构
谈笑间学会-数仓分层架构1、数据仓库1-1、什么是数仓呢? 数据仓库(Data Warehouse)简称DW或DWH,是数据库的一种概念上的升级,可以说是为满足新需求设计的一种新数据库,而这个数据库是需容纳更多的数据,更加庞大的数据集,从逻辑上讲数据仓库和数据库是没有什么区别的。 为企业所有级别的决策制定过程,提供所有类型数据支撑的战略集合,主要是用于数据挖掘和数据分析,以建立数据沙盘为基础,为消灭消息孤岛和支持决策为目的而创建的。1-2、为什么需要数据仓库?原创 2020-08-06 18:00:24 · 2247 阅读 · 4 评论 -
谈笑间学会-Hbase Rowkey设计
谈笑间学会-Hbase Rowkey设计1、为什么Rowkey这么重要1.1、Rowkey是什么类食欲MySQL、Oracle中的主键,用于标示唯一的行完全是由用户指定的一串不重复的字符串;Hbase中的数据永远数据根据Rowkey的字典排序来排序的。1.2、Rowkey的作用读写数据通过Rowkey找到对应的Region;MemStore中的数据按RowKry字典顺序排序;HFile中的数据按Rowkey字典顺序排序1.3、Rowkey对查询的影响举个栗子—Row原创 2020-08-05 11:33:07 · 352 阅读 · 0 评论 -
谈笑间学会大数据-Hive中的分桶表
谈笑间学会大数据-Hive中的分桶表你可以不够优秀,但是不要甘于平凡Hive中的分桶表官方文档首先我们可以参考下官方文档,对于创建分桶表的一些描述https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL#LanguageManualDDL-BucketedSortedTables什么是分桶表? 分桶是相对分区进行更细粒度的划分。分桶将整个数据内容安装某列属性值得hash值进行区分,如要安装name原创 2020-06-21 22:34:00 · 361 阅读 · 0 评论 -
谈笑间学会大数据-Hive中的排序
谈笑间学会大数据-Hive中的排序Hive中的四种排序order by 、 sort by 、 distribute by 、cluster by首先贴一下官网对于Hive排序的几种方法的介绍:https://cwiki.apache.org/confluence/display/Hive/LanguageManual+SortBy总述order by全局排序;对输入的数据做排序,故此只有一个reducer(多个reducer无法保证全局有序);只有一个reducer,会导致当输入规模较大原创 2020-06-15 00:14:26 · 576 阅读 · 2 评论 -
谈笑间学会大数据-MapReduce作业运行全流程
MapReduce作业运行流程keywordsYarn、ResourceManager 、 ApplicationManager + Resource Schedule 、Container一个job运行的整体流程Yarn是一个资源调度平台,负责为运算程序提供服务器运算资源,相当于一个分布式的操作系统平台,而mapreduce等运算程序则相当于运行于操作系统之上的应用程序。MapReduce运行在Yarn之上,其架构:名称解释ResourceManagerRM是一个全局的资源管理器,负责整原创 2020-06-10 13:13:03 · 354 阅读 · 0 评论 -
谈笑间学会大数据-Hive函数
谈笑间学会大数据-Hive函数 用户自定义函数(UDF)是一个允许用户扩展HiveQL的强大的功能。正如我们将看到的,用户使用Java进行编码。一旦将用户自定义函数加入到用户会话中(交互式的或者通过脚本执行的),它们就将和内置的函数一样使用,甚至可以提供联机帮助。Hive具有多种类型的用户自定义函数,每一种都会针对输入数据执行特定“一类”的转换过程。 在ETL处理中,一个处理过程可能包含多个处理步骤。Hive语言具有多种方式来将上一步骤的输入通过管道传递给下一个步骤,然后在一个查询中产生众多输出原创 2020-06-01 17:43:55 · 264 阅读 · 0 评论 -
Spark用DataFrame取代RDD以提高性能???
在许多人眼中, RDD是老掉牙的, 而用了DataFrame的Spark 2.1会更快. 然而, 很多人没有意识到Dataframe是基于RDD实现的. 我们可以试着打开引擎盖,看看里面到底是怎么工作的.在Spark中, DataFrame是一个以命名列方式组织的分布式数据集,等同于关系型数据库中的一个表,也相当于R/Python中的data frames(但是进行了更多的优化). RDD是一个分布式的数据集,数据分散在分布式集群的各台机器上.下图标示了两者结构上的对比.左侧的RDD[Person]原创 2020-05-15 17:58:22 · 2003 阅读 · 4 评论 -
谈笑间学会大数据-Hive调优策略
谈笑间学会大数据-Hive调优策略 Hive SQL是一种声明试语言,用户会提交声明式的查询,而Hive会将其转换成MapReduce job,大多数情况下,用户不需要了解Hive内部的实现原理的,这样就可以专注业务的事情,不再关注底层实现了。 不过,当用户对于Hive具有越来越多的经验后,了解一下Hive背后的理论知识和底层的一些实现细节,会让用户更加高效地使用Hive。使用exp...原创 2020-05-06 15:54:43 · 414 阅读 · 0 评论 -
谈笑间学会大数据-Hive设计模式
谈笑间学会大数据-Hive设计模式 Hive看上去以及实际香味都像是一个关系型数据库。用户对如表和列这列术语比较熟悉,而且Hive提供的查询语言和用户之前使用过的SQL方言非常地相似。不过,Hive实现和使用的方法和传统的关系型数据库是非常不通的。通常,用户视图移植关系型数据库中的模式,而事实上Hive是反模式的。按天划分的表 按天划分表就是一种模式,其通常会在表名中加入一个时间戳,...原创 2020-04-13 17:52:38 · 306 阅读 · 0 评论 -
谈笑间学会大数据-Hive视图
谈笑间学会大数据-Hive视图视图是什么? 视图可以允许保存一个查询并像对待表一样对这个查询进行操作。这是一个逻辑结构,因为它不像一个表会存储数据。换句话说,Hive目前暂不支持物化视图。当一个查询引用一个视图时,这个视图所定义的查询语句将和用户的查询语句组合在一起,然后供Hive制定查询计划。从逻辑上讲,可以想象为Hive先执行这个视图,然后使用这个结果进行余下后续的查询。 使用视...原创 2020-04-07 19:48:48 · 386 阅读 · 1 评论 -
谈笑间学会大数据-Hive查询SQL
Hive查询SQL这篇博客呢,不想说太多基础,有些东西像MySQL类似的语法,简单的select...from...这种大家都会的,我就不bb了~原则上:大多数情况是,MySQL支持的SQL语法,在Hive中也同样适用...使用正则表达式来指定列SELECT symbol, `price.*`FROM stocks;SQL执行以后的大致效果...原创 2020-04-02 16:21:53 · 406 阅读 · 1 评论 -
Hive使用正则表达式模糊匹配列报错
报错信息:Invalid table alias or column reference ‘name.*’hive> select * from test_stu_3 > ;OK张三 张三 12李四 李四 10wangwu wangwu 8赵六 赵六 1Time taken: 0.124 seconds, Fetched: 4 row(s)hive> s...原创 2020-04-02 11:47:37 · 1713 阅读 · 0 评论 -
yarn的web界面上显示节点异常unhealthy
错误截图解决方案暂无,后续更新...原创 2020-04-01 17:21:49 · 794 阅读 · 0 评论 -
hadoop格式化namenode后导致datanode无法启动
hadoop格式化namenode后导致datanode无法启动首先贴报错哈,错误不一样,就不用往下看了。。。报错截图错误分析Failed to add storage directory [DISK]file:/Users/zhangchenguang/software/hadoop-2.7.3/tmp/dfs/data/java.io.IOException: Inco...原创 2020-04-01 17:15:56 · 1137 阅读 · 0 评论 -
谈笑间学会大数据-hivesql练习题-小试牛刀
Hive练习题第1题我们有如下的用户访问数据 userId visitDate visitCount u01 2017/1/21 5 u02 2017/1/23 6 u03 ...原创 2020-03-31 16:55:54 · 311 阅读 · 0 评论 -
谈笑间学会大数据-hivesql练习题参考答案
第1题我们有如下的用户访问数据 userId visitDate visitCount u01 2017/1/21 5 u02 2017/1/23 6 u03 2017/1...原创 2020-03-31 16:45:01 · 464 阅读 · 0 评论 -
谈笑间学会大数据-Hive数据定义
Hive数据定义目录Hive数据定义向管理表中装载数据通过查询语句向表中插入数据动态分区插入单个查询语句中创建表并加载数据导出数据向管理表中装载数据既然Hive没有行级别的数据插入、数据更新和删除操作,那么往表中装载数据的唯一途径就是使用一种“大量”的数据装载操作。或者通过其他方式仅仅将文件写入到正确的目录下。load data local inpath ...原创 2020-03-31 15:12:53 · 223 阅读 · 0 评论 -
谈笑间学会大数据-Hive数据定义
Hive数据定义前言HiveQL是Hive查询语言。和普遍使用的所有SQL方言一样,它不完全遵守任一种ANSISQL标准的修订版。HiveQL可能和MySQL的方言最接近,但是两者还是存在显著性差异的。Hive不支持行级插入操作、更新操作和删除操作。Hive也不支持事务。Hive增加了在Hadoop背景下的可以提供更高性能的扩展,以及一些个性化的扩展,甚至还增加了一些外部程序。Hive...原创 2020-03-27 16:29:51 · 359 阅读 · 0 评论 -
谈笑间学会大数据-Hive数据类型和文件格式
Hive数据类型和文件格式Hive数据类型数据类型的意义Hive支持关系型数据库中的大多数基本数据类型,同时也支持关系型数据库中很少出现的3种集合数据类型,下面我们将简短地介绍一下这样做的原因。其中一个需要考虑的因素就是这些数据类型是如何在文本文件中进行表示的,同时还要考虑文本存储中为了解决各种性能问题以及其他问题有哪些替代方案。和大多数的数据库相比,Hive具有一个独特的功能,那...原创 2020-03-26 11:48:01 · 428 阅读 · 0 评论