加载数据

适用于:检查标记是的砖运行时

将数据加载到一个蜂巢SerDe表从用户指定的目录或文件。如果指定一个目录然后从目录中所有的文件被加载。如果指定一个文件只有单一文件加载。此外,负载数据声明需要一个可选的分区规范。当指定一个分区,数据文件(当输入源目录)或单个文件(当输入源文件)加载到目标表的分区。

如果缓存表,表的命令清除缓存数据及其家属,引用它。缓存会懒洋洋地填在表或家属下次访问。

语法

负载数据(当地的]INPATH路径(覆盖]table_name(分区条款]

参数

  • 路径

    路径的文件系统。它可以是一个绝对或相对路径。

  • table_name

    标识表插入。必须不包含一个名称时间规范。如果表不能发现砖了TABLE_OR_VIEW_NOT_FOUND错误。

  • 分区条款

    一个可选参数,指明目标分区的插入。你也只是部分指定分区。

  • 当地的

    如果指定,它导致INPATH对本地文件系统得到解决,而不是默认的文件系统,这是典型的分布式存储。

  • 覆盖

    默认情况下,新数据添加到表中。如果覆盖使用,与新的数据表,而不是覆盖。

例子

——例子没有分区规范。——假设学生已经创建并填充表。>选择*学生;的名字地址student_id- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -艾米史密斯123年公园大街,111111年>创建test_load(的名字VARCHAR(64年),地址VARCHAR(64年),student_idINT)使用蜂巢;——假设学生表的蜂巢/ user / /仓库/>负载数据当地的INPATH/用户/蜂巢/仓库/学生覆盖test_load;>选择*test_load;的名字地址student_id- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -艾米史密斯123年公园大街,111111年——与分区规范的例子。>创建test_partition(c1INT,c2INT,c3INT)分区通过(c2,c3);>插入test_partition分区(c2=2,c3=3)(1);>插入test_partition分区(c2=5,c3=6)(4);>插入test_partition分区(c2=8,c3=9)(7);>选择*test_partition;c1c2c3推荐- - - - - - - - - - - - - - -123456789>创建test_load_partition(c1INT,c2INT,c3INT)使用蜂巢分区通过(c2,c3);——假设test_partition表是在“蜂巢/ user / /仓库/”>负载数据当地的INPATH' /用户/蜂巢/仓库/ test_partition / c2 = 2 / c3 = 3 '覆盖test_load_partition分区(c2=2,c3=3);>选择*test_load_partition;c1c2c3推荐- - - - - - - - - - - - - - -123