partition

hive删除空分区

点点圈 提交于 2019-12-01 20:07:20
当hive中分区字段有NULL值时,hive会使用dynamic partition,数据会放到一个特殊的分区,这个分区由参数“hive.exec.default.partition.name”控制,默认为“__HIVE_DEFAULT_PARTITION__”,即上面这种情况。 如果不想保留,则使用下面命令删除该分区,同时手工删除hdfs上该分区文件。 下面用于删除null分区。 ALTER TABLE table DROP IF EXISTS PARTITION (pk_year='__HIVE_DEFAULT_PARTITION__',pk_month='__HIVE_DEFAULT_PARTITION__',pk_day='__HIVE_DEFAULT_PARTITION__'); 来源: https://www.cnblogs.com/30go/p/11715934.html

Impala 表使用 RCFile 文件格式(翻译)

旧时模样 提交于 2019-12-01 19:56:40
Impala 表使用 RCFile 文件格式 Cloudera Impala 支持使用 RCFile 数据文件。 查询一下章节了解 Impala 表使用 RCFile 数据文件的详情: 创建RCFile 表并加载数据 RCFile 表启用压缩 创建 RCFile 表并加载数据 假如你没有使用现有的数据文件,先创建一个合适格式的文件。 创建 RCFile 表: 在 impala-shell 中,执行类似下面的命令: create table rcfile_table (column_specs) stored as rcfile; 因为 Impala 可以查询一些目前它无法写入数据的表,当创建特定格式的表之后,你可能需要在 Hive shell 中加载数据。参见 Impala 如何使用 Hadoop 文件格式 了解详细信息。当通过 Hive 或其他 Impala 之外的机制加载数据之后,在你下次连接到 Impala 节点时,在执行关于这个表的查询之前,执行 REFRESH table_name 语句,以确保 Impala 识别到新添加的数据。 例如,下面是你如何在 Impala 中创建 RCFile 表(通过显式设置列,或者克隆其他表的结构),通过 Hive 加载数据,并通过 Impala 查询: $ impala-shell -i localhost [localhost

Impala 表使用 SequenceFile 文件格式(翻译)

白昼怎懂夜的黑 提交于 2019-12-01 19:56:26
Impala 表 使用 SequenceFile 文件格式 Cloudera Impala 支持使用 SequenceFile 数据文件。 参加以下章节了解 Impala 表使用 SequenceFile 数据文件的详情: 创建 SequenceFile 表并加载数据 SequenceFile 表启用压缩 创建 SequenceFile 表并加载数据 假如你没有使用已有的数据文件,请先创建一个合适格式的文件。 创建 SequenceFile 表: 在 impala-shell 中,执行类似命令: create table sequencefile_table (column_specs) stored as sequencefile; 因为 Impala 可以查询一些目前它无法写入数据的表,当创建特定格式的表之后,你可能需要在 Hive shell 中加载数据。参见 Impala 如何使用 Hadoop 文件格式 了解详细信息。当通过 Hive 或其他 Impala 之外的机制加载数据之后,在你下次连接到 Impala 节点时,在执行关于这个表的查询之前,执行 REFRESH table_name 语句,以确保 Impala 识别到新添加的数据。 例如,下面是你如何在 Impala 中创建 SequenceFile 表( 通过显式设置列,或者克隆其他表的结构 ),通过 Hive

oracle分区表 转

放肆的年华 提交于 2019-12-01 19:28:21
oracle表分区详解 从以下几个方面来整理关于分区表的概念及操作: 表空间及分区表的概念 表分区的具体作用 表分区的优缺点 表分区的几种类型及操作方法 对表分区的维护性操作 1.表空间及分区表的概念 表空间:   是一个或多个数据文件的集合,所有的数据对象都存放在指定的表空间中,但主要存放的是表, 所以称作表空间。 分区表: 当表中的数据量不断增大,查询数据的速度就会变慢,应用程序的性能就会下降,这时就应该考虑对表进行分区。表进行分区后,逻辑上表仍然是一张完整的表,只是将表中的数据在物理上存放到多个表空间(物理文件上),这样查询数据时,不至于每次都扫描整张表。 2.表分区的具体作用 Oracle的表分区功能通过改善可管理性、性能和可用性,从而为各式应用程序带来了极大的好处。通常,分区可以使某些查询以及维护操作的性能大大提高。此外,分区还可以极大简化常见的管理任务,分区是构建千兆字节数据系统或超高可用性系统的关键工具。 分区功能能够将表、索引或索引组织表进一步细分为段,这些数据库对象的段叫做分区。每个分区有自己的名称,还可以选择自己的存储特性。从数据库 管理员的角度来看,一个分区后的对象具有多个段,这些段既可进行集体管理,也可单独管理,这就使数据库管理员在管理分区后的对象时有相当大的灵活性。但 是,从应用程序的角度来看,分区后的表与非分区表完全相同,使用 SQL DML

hive 分区(partition)简介

我是研究僧i 提交于 2019-12-01 19:23:13
网上有篇关于hive的partition的使用讲解的比较好,转载了: 一、背景 1、在Hive Select查询中一般会扫描整个表内容,会消耗很多时间做没必要的工作。有时候只需要扫描表中关心的一部分数据,因此建表时引入了partition概念。 2、分区表指的是在创建表时指定的partition的分区空间。 3、如果需要创建有分区的表,需要在create表的时候调用可选参数partitioned by,详见表创建的语法结构。 二、技术细节 1、一个表可以拥有一个或者多个分区,每个分区以文件夹的形式单独存在表文件夹的目录下。 2、表和列名不区分大小写。 3、分区是以字段的形式在表结构中存在,通过describe table命令可以查看到字段存在,但是该字段不存放实际的数据内容,仅仅是分区的表示。 4、建表的语法(建分区可参见PARTITIONED BY参数): CREATE [EXTERNAL] TABLE [IF NOT EXISTS] table_name [(col_name data_type [COMMENT col_comment], ...)] [COMMENT table_comment] [PARTITIONED BY (col_name data_type [COMMENT col_comment], ...)] [CLUSTERED BY (col_name,

gdisk转fdisk

瘦欲@ 提交于 2019-12-01 19:10:36
分区测试的时候发现之前用gdisk分区之后,就无法用fdisk进行分区了,哪怕格式化了也不行,通过fdisk 查看硬盘,发现硬盘都变成了GPT分区,无法通过fdisk进行分区操作,所以要通过parted 删除其GPT分区 [root@docker-server-1 ~]# fdisk -l Disk /dev/sdb: 999.7 GB, 999653638144 bytes 255 heads, 63 sectors/track, 121534 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x000dac36 Device Boot Start End Blocks Id System Disk /dev/sda: 999.7 GB, 999653638144 bytes 255 heads, 63 sectors/track, 121534 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes

spark基本概念-Spark中Task,Partition,RDD、节点数、Executor数、core数目的关系和Application,Driver,Job,Task,Stage理解

强颜欢笑 提交于 2019-12-01 18:28:21
梳理一下Spark中关于并发度涉及的几个概念File,Block,Split,Task,Partition,RDD以及节点数、Executor数、core数目的关系。 输入可能以多个文件的形式存储在HDFS上,每个File都包含了很多块,称为Block。 当Spark读取这些文件作为输入时,会根据具体数据格式对应的InputFormat进行解析,一般是将若干个Block合并成一个输入分片,称为InputSplit,注意InputSplit不能跨越文件。 随后将为这些输入分片生成具体的Task。InputSplit与Task是一一对应的关系。 随后这些具体的Task每个都会被分配到集群上的某个节点的某个Executor去执行。 每个节点可以起一个或多个Executor。 每个Executor由若干core组成,每个Executor的每个core一次只能执行一个Task。 每个Task执行的结果就是生成了目标RDD的一个partiton。 注意: 这里的core是虚拟的core而不是机器的物理CPU核,可以理解为就是Executor的一个工作线程。 而 Task被执行的并发度 = Executor数目 * 每个Executor核数。 至于partition的数目: 对于数据读入阶段,例如sc.textFile,输入文件被划分为多少InputSplit就会需要多少初始Task。

分区创建、文件系统创建、挂载。

隐身守侯 提交于 2019-12-01 17:03:16
         分区创建、文件系统、挂载实验、逐步创建和命令创建 逐步创建: 实验环境:准备一个vmr、centos7、添加一块新硬盘。 fdisk -l 查看新硬盘添加进去了没,查看之后没有发现新硬盘,可以用以下命令来不关机扫描磁盘。 [root@centos7 ~]# fdisk -l . . . . . . Disk /dev/sdc: 21.5 GB, 21474836480 bytes, 41943040 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk label type: gpt Disk identifier: 223140F2-3EB4-4ADC-A9B0-3869E8A04170 显示这行看第一行,我加的是10G的硬盘没显示,执行下面的命令。 [root@centos7 ~]# echo "- - -" > /sys/class/scsi_host/host0/scan [root@centos7 ~]# fdisk -l . . . . . . Disk /dev/sdd: 10.7 GB,

hive分区操作

蹲街弑〆低调 提交于 2019-12-01 17:01:55
hive分区操作 20191017 (1)hive 建表时 创建分区 create table `mytable`( `column1` string, `column2` string) partitioned by ( `mydate` string, `mytype` int) row format delimited fields terminated by ','; (2)hive select--加载数据时动态 创建分区 set hive.exec.dynamic.partition=true; set hive.exec.dynamic.partition.mode=nonstrict; use mydatabase; insert overwrite table mytable partition( mydate,mytype) select xxx, xxx, xxx as mydate, xxx as mytype from othertable; 动静混合加载 set hive.exec.dynamic.partition=true; set hive.exec.dynamic.partition.mode=nonstrict; use mydatabase; insert overwrite table mytable partition( mydate=

小记---------spark架构原理&主要组件和进程

≡放荡痞女 提交于 2019-12-01 15:58:42
spark的主要组件和进程 driver (进程): 我们编写的spark程序就在driver上,由driver进程执行 master(进程): 主要负责资源的调度和分配,还有集群的监控 worker(进程): 主要负责 1.用自己的内存 存储RDD的某个或某些partition; 2.启动其它进程和线程,对RDD上的partition进行版型的处理和计算 executor(进程): 负责对RDD的partition进行并行计算,也就是执行我们对RDD栋定义,比如map/flatmap/reduce等算子操作 task(线程): 对RDD的partition数据执行指定的算子操作 spark架构原理大致步骤: driver进程启动之后,会做初始化的操作,在这个过程中会发送请求到Master上,进行spark应用程序的注册,其实就是让master知道,有一个新的spark应用程序要运行 master在接收到spark应用程序的注册申请之后,会发送请求给worker,进行资源的调度和分配;其实就是资源的分配就是对executor的分配 worker接收到master的请求后会为spark应用启动executor executor启动之后,会向driver进行反注册,这样driver就知道哪些executor是为它进行服务的 driver注册了一些executor之后