在Hue WebUI使用元数据浏览器
操作场景
用户需要使用图形化界面在集群中管理Hive的元数据,可以通过Hue完成任务。
Metastore管理器使用介绍
访问Hue WebUI,请参考访问Hue的WebUI。
选择“Data Browsers > Metastore Tables”,进入“Metastore Manager”。
访问“Metastore Manager”
- 访问Hue WebUI,请参考访问Hue的WebUI。
- 选择“Data Browsers > Metastore Tables”,进入“Metastore Manager”。
“Metastore Manager”支持以下功能:
- 使用文件创建一个Hive表
- 手动创建一个Hive表
- 查看Hive表元数据
使用文件创建一个Hive表
- 访问“Metastore Manager”,在“Databases”选择一个数据库。
默认数据库为“default”。
- 单击,进入“Create a new table from a file”页面。
- 选择文件。
- 在“Table Name”填写Hive表的名称。
支持字母、数字、下划线,首位必须为字母或数字,且长度不能超过128位。
- 根据需要,在“Description”填写Hive表的描述信息。
- 在“Input File or Location”单击,在HDFS中选择一个用于创建Hive表文件。此文件将存储Hive表的新数据。
如果文件未在HDFS中保存,可以单击“Upload a file”从本地选择文件并上传。支持同时上传多个文件,文件不可为空。
- 如果需要将文件中的数据导入Hive表,选择“Import data”作为“Load method”。默认选择“Import data”。
选择“Create External Table”时,创建的是Hive外部表。
当选择“Create External Table”时,参数“Input File or Location”需要选择为路径。
选择“Leave Empty”则创建空的Hive表。
- 单击“Next”。
- 在“Table Name”填写Hive表的名称。
- 设置分隔符。
- 在“Delimiter”选择一个分隔符。
如果分隔符不在列表中,选择“Other..”,然后输入新定义的分隔符。
- 单击“Preview”查看数据处理预览。
- 单击“Next”。
- 在“Delimiter”选择一个分隔符。
- 定义字段列。
- 单击“Use first row as column names”右侧的,则使用文件中第一行数据作为列名称。取消则不使用数据作为列名称。
- 在“Column name”编辑每个列的名称。
支持字母、数字、下划线,首位必须为字母或数字,且长度不能超过128位。
单击“Bulk edit column names”右侧的,可批量对列重新命名。输入所有列的名称并使用逗号分隔。
- 在“Column Type”选择每个列的类型。
- 单击“Create Table”创建表,等待Hue显示Hive表的信息。
手工创建一个Hive表
- 访问“Metastore Manager”,在“Databases”选择一个数据库。
默认数据库为“default”。
- 单击,进入“Create a new table manually”页面。
- 设置表名称。
- 在“Table Name”填写Hive表的名称。
支持字母、数字、下划线,首位必须为字母或数字,且长度不能超过128位。
- 根据需要,在“Description”填写Hive表的描述信息。
- 单击“Next”。
- 在“Table Name”填写Hive表的名称。
- 选择一个存储数据的格式。
- 配置分隔符。
- 在“Field terminator”设置一个列分隔符。
如果分隔符不在列表中,选择“Other..”,然后输入新定义的分隔符。
- 在“Collection terminator”设置一个分隔符,用于分隔Hive中类型为“array”的列的数据集合。例如一个列为array类型,其中一个值需要保存“employee”和“manager”,用户指定分隔符为“:”,则最终的值为“employee:manager”。
- 在“Map key terminator”设置一个分隔符,用于分隔Hive中类型为“map”的列的数据。例如某个列为map类型,其中一个值需要保存描述为“aaa”的“home”,和描述为“bbb”的“company”,用户指定分隔符为“|”,则最终的值为“home|aaa:company|bbb”。
- 单击“Next”,执行7。
- 在“Field terminator”设置一个列分隔符。
- 设置序列化属性。
- 在“SerDe Name”输入序列化格式的类名称“org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe”。
用户可扩展Hive支持更多自定义的序列化类。
- 在“Serde properties”输入序列化的样式的值:“"field.delim"="," "colelction.delim"=":" "mapkey.delim"="|"”。
- 单击“Next”,执行执行7。
- 在“SerDe Name”输入序列化格式的类名称“org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe”。
- 选择一个数据表的格式,并单击“Next”。
- “TextFile”表示使用文本类型文件存储数据。
- “SequenceFile”表示使用二进制类型文件存储数据。
- “InputFormat”表示使用自定义的输入输出格式来使用文件中的数据。
用户可扩展Hive支持更多的自定义格式化类。
- 在“InputFormat Class”填写输入数据使用的类“org.apache.hadoop.hive.ql.io.RCFileInputFormat”。
- 在“OutputFormat Class”填写输出数据使用的类“org.apache.hadoop.hive.ql.io.RCFileOutputFormat”。
- 选择一个文件保存位置,并单击“Next”。
默认勾选“Use default location”。如果需要自定义存储位置,请取消选中状态并在“External location”单击指定一个文件存储位置。
- 设置Hive表的字段。
- 在“Column name”设置列的名称。
支持字母、数字、下划线,首位必须为字母或数字,且长度不能超过128位。
- 在“Column type”选择一个数据类型。
单击“Add a column”可增加新的列。
- 单击“Add a partition”为Hive表增加分区,可提高查询效率。
- 在“Column name”设置列的名称。
- 单击“Create Table”创建表,等待Hue显示Hive表的信息。
管理Hive表
- 访问“Metastore Manager”,在“Databases”选择一个数据库,页面显示数据库中所有的表。
默认数据库为“default”。
- 单击数据库中的表名称,打开表的详细信息。
支持导入数据、浏览数据或查看文件存储位置。查看数据库所有的表时,可以直接勾选表然后执行查看、浏览数据操作。
Hue界面主要用于文件、表等数据的查看与分析,禁止通过Hue界面对操作对象进行删除等高危管理操作。如需操作,建议在确认对业务没有影响后通过各组件的相应操作方法进行处理,例如使用HDFS客户端对HDFS文件进行操作,使用Hive客户端对Hive表进行操作。