更新时间:2022-09-30 GMT+08:00

在Hue WebUI使用元数据浏览器

操作场景

用户需要使用图形化界面在集群中管理Hive的元数据,可以通过Hue完成任务。

Metastore管理器使用介绍

访问Hue WebUI,请参考访问Hue的WebUI

选择“Data Browsers > Metastore Tables”,进入“Metastore Manager”

  • 查看Hive表的元数据

    在左侧导航栏中,将鼠标放在某一表上,单击显示在其右侧的图标,界面将显示Hive表的元数据信息。

  • 管理Hive表的元数据

    在Hive表的元数据信息界面,单击右上角的可导入数据,单击可浏览数据,单击可查看表文件的位置信息。

    Hue界面主要用于文件、表等数据的查看与分析,禁止通过Hue界面对操作对象进行删除等高危管理操作。如需操作,建议在确认对业务没有影响后通过各组件的相应操作方法进行处理,例如使用HDFS客户端对HDFS文件进行操作,使用Hive客户端对Hive表进行操作。

  • 管理Hive元数据表

    选择右上角的可在数据库中根据上传的文件创建一个新表,选择右上角的可手动创建一个新表。

访问“Metastore Manager”

  1. 访问Hue WebUI,请参考访问Hue的WebUI
  2. 选择“Data Browsers > Metastore Tables”,进入“Metastore Manager”

    “Metastore Manager”支持以下功能:

    • 使用文件创建一个Hive表
    • 手动创建一个Hive表
    • 查看Hive表元数据

使用文件创建一个Hive表

  1. 访问“Metastore Manager”,在“Databases”选择一个数据库。

    默认数据库为“default”

  2. 单击,进入“Create a new table from a file”页面。
  3. 选择文件。

    1. “Table Name”填写Hive表的名称。

      支持字母、数字、下划线,首位必须为字母或数字,且长度不能超过128位。

    2. 根据需要,在“Description”填写Hive表的描述信息。
    3. “Input File or Location”单击,在HDFS中选择一个用于创建Hive表文件。此文件将存储Hive表的新数据。

      如果文件未在HDFS中保存,可以单击“Upload a file”从本地选择文件并上传。支持同时上传多个文件,文件不可为空。

    4. 如果需要将文件中的数据导入Hive表,选择“Import data”作为“Load method”。默认选择“Import data”

      选择“Create External Table”时,创建的是Hive外部表。

      当选择“Create External Table”时,参数“Input File or Location”需要选择为路径。

      选择“Leave Empty”则创建空的Hive表。

    5. 单击“Next”

  4. 设置分隔符。

    1. “Delimiter”选择一个分隔符。

      如果分隔符不在列表中,选择“Other..”,然后输入新定义的分隔符。

    2. 单击“Preview”查看数据处理预览。
    3. 单击“Next”

  5. 定义字段列。

    1. 单击“Use first row as column names”右侧的,则使用文件中第一行数据作为列名称。取消则不使用数据作为列名称。
    2. “Column name”编辑每个列的名称。

      支持字母、数字、下划线,首位必须为字母或数字,且长度不能超过128位。

      单击“Bulk edit column names”右侧的,可批量对列重新命名。输入所有列的名称并使用逗号分隔。

    3. “Column Type”选择每个列的类型。

  6. 单击“Create Table”创建表,等待Hue显示Hive表的信息。

手工创建一个Hive表

  1. 访问“Metastore Manager”,在“Databases”选择一个数据库。

    默认数据库为“default”

  2. 单击,进入“Create a new table manually”页面。
  3. 设置表名称。

    1. “Table Name”填写Hive表的名称。

      支持字母、数字、下划线,首位必须为字母或数字,且长度不能超过128位。

    2. 根据需要,在“Description”填写Hive表的描述信息。
    3. 单击“Next”

  4. 选择一个存储数据的格式。

    • 需要使用分隔符分隔数据时,选择“Delimited”,然后执行5
    • 需要使用序列化格式保存数据时,选择“SerDe”,执行6

  5. 配置分隔符。

    1. “Field terminator”设置一个列分隔符。

      如果分隔符不在列表中,选择“Other..”,然后输入新定义的分隔符。

    2. “Collection terminator”设置一个分隔符,用于分隔Hive中类型为“array”的列的数据集合。例如一个列为array类型,其中一个值需要保存“employee”“manager”,用户指定分隔符为“:”,则最终的值为“employee:manager”
    3. “Map key terminator”设置一个分隔符,用于分隔Hive中类型为“map”的列的数据。例如某个列为map类型,其中一个值需要保存描述为“aaa”“home”,和描述为“bbb”“company”,用户指定分隔符为“|”,则最终的值为“home|aaa:company|bbb”
    4. 单击“Next”,执行7

  6. 设置序列化属性。

    1. “SerDe Name”输入序列化格式的类名称“org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe”

      用户可扩展Hive支持更多自定义的序列化类。

    2. “Serde properties”输入序列化的样式的值:“"field.delim"="," "colelction.delim"=":" "mapkey.delim"="|"”
    3. 单击“Next”,执行7

  7. 选择一个数据表的格式,并单击“Next”

    • “TextFile”表示使用文本类型文件存储数据。
    • “SequenceFile”表示使用二进制类型文件存储数据。
    • “InputFormat”表示使用自定义的输入输出格式来使用文件中的数据。
      用户可扩展Hive支持更多的自定义格式化类。
      1. “InputFormat Class”填写输入数据使用的类“org.apache.hadoop.hive.ql.io.RCFileInputFormat”
      2. “OutputFormat Class”填写输出数据使用的类“org.apache.hadoop.hive.ql.io.RCFileOutputFormat”

  8. 选择一个文件保存位置,并单击“Next”

    默认勾选“Use default location”。如果需要自定义存储位置,请取消选中状态并在“External location”单击指定一个文件存储位置。

  9. 设置Hive表的字段。

    1. “Column name”设置列的名称。

      支持字母、数字、下划线,首位必须为字母或数字,且长度不能超过128位。

    2. “Column type”选择一个数据类型。

      单击“Add a column”可增加新的列。

    3. 单击“Add a partition”为Hive表增加分区,可提高查询效率。

  10. 单击“Create Table”创建表,等待Hue显示Hive表的信息。

管理Hive表

  1. 访问“Metastore Manager”,在“Databases”选择一个数据库,页面显示数据库中所有的表。

    默认数据库为“default”

  2. 单击数据库中的表名称,打开表的详细信息。

    支持导入数据、浏览数据或查看文件存储位置。查看数据库所有的表时,可以直接勾选表然后执行查看、浏览数据操作。

    Hue界面主要用于文件、表等数据的查看与分析,禁止通过Hue界面对操作对象进行删除等高危管理操作。如需操作,建议在确认对业务没有影响后通过各组件的相应操作方法进行处理,例如使用HDFS客户端对HDFS文件进行操作,使用Hive客户端对Hive表进行操作。