Hive-HUE中表的上传与删除等操作

1.表的上传

开通上传表/建表的权限,本例中,上传及删除的权限在carpenter_biz库内演示。

hdfs路径为:

HIVE 上传中文乱码 hive上传数据_HUE


基本原理:

hdfs内,carpenter_biz库下的文件夹,即为hive表名,在文件夹下上传的文件,即为表内的数据。

1.1 准备一张数据表,可上传的数据文件格式可以是csv和txt。本例为csv格式。

HIVE 上传中文乱码 hive上传数据_Hive_02


1.2 上传数据表

①在左侧资源树为数据库carpenter_biz的状态下,点击【+】,出现画面中间的文件上传区域:

(注意:必须在目标库的状态下进行添加文件操作,即本例中,必须在carpenter_biz下点击【+】)

HIVE 上传中文乱码 hive上传数据_HIVE 上传中文乱码_03


上传区域显示【第①步 - Pick data from file】,即选择数据文件。

②在【path】处点击【··】,弹出下图所示对话框:

把文件路径选择为我们需要操作的数据库,比如本例中的carpenter_biz,下面的菜单列表就是当前库中的所有数据表。

然后点击下方的【create folder】:

HIVE 上传中文乱码 hive上传数据_HIVE 上传中文乱码_04


③点击【create folder】后,会多出一行,是创建文件名的选择框。这个命名的文件名称,就是将来我们在数据库里面的表名了。本例中,我们取名为【tt】,后期对应的就是carpenter_biz.tt 表。

命名完文件名/表名以后,点击【create folder】,这样,hdfs里面,carpenter_biz下面的 tt 文件(对应的carpenter_biz库的tt表)就创建好了。

【tt】文件创建好以后,文件内容还是空的(即,carpenter_biz.tt 表是张空表),我们还需要上传数据。

HIVE 上传中文乱码 hive上传数据_HUE_05


④上图中点击了【create folder】以后,以【tt】命名的文件名就出现在了carpenter_biz文件夹下的列表中,如下图:

HIVE 上传中文乱码 hive上传数据_HIVE 上传中文乱码_06


⑤单击一下【tt】文件,进入到该文件夹下。点击【upload a file】上传【1.1】中准备好的csv文件【t3】:

HIVE 上传中文乱码 hive上传数据_HUE_07


点击【upload a file】以后,在弹出上传框中找到并选择【t3】文件:

HIVE 上传中文乱码 hive上传数据_HIVE 上传中文乱码_08


点击上传以后,【t3】文件就出现在了【tt】文件夹下:

HIVE 上传中文乱码 hive上传数据_HUE_09


⑥鼠标单击【t3】文件,回到开始的上传页面,文件被打开,显示成预览的形式:

HIVE 上传中文乱码 hive上传数据_Hive_10


如果文件打开的方式不对,需要调整【field separator】(字段分隔符),使预览的数据格式与目标格式变为一致:

(以下调整了字段分隔符,数据格式不是想要的)

HIVE 上传中文乱码 hive上传数据_上传_11


⑦目标数据格式无误以后,点击下一步【next】,进入第②步:

HIVE 上传中文乱码 hive上传数据_上传_12


这时第①步中的文件路径显示出来,第②步的表名与【destination】(目的地)一致,都是carpenter_biz.t3,这是默认的上传文件的文件名。但是因为我们之前的文件夹名(也就是表名)是命名为【tt】的,所以我们在这里手动把【t3】改为【tt】,改完以后发现第②步下面的table名也跟着变了:

HIVE 上传中文乱码 hive上传数据_Hive_13


注意:

当上传表的表头是中文时,可以在这一步修改为英文。

因为在某些情况下,中文在HUE-【Query】上的查询会遇到一点问题。

比如下面的表,注意表头在两个步骤中的修改:

HIVE 上传中文乱码 hive上传数据_数据库_14


HIVE 上传中文乱码 hive上传数据_上传_15


⑧点击【submit】,这就将hdfs里【tt】文件夹下的【t3】文件提交到了carpenter_biz库下的【tt】表内。

⑨右上角显示运行状态,运行完毕后,左侧的carpenter_biz数据库列表中,显示出了新建的表【tt】。

HIVE 上传中文乱码 hive上传数据_数据库_16


点击【HDFS】按钮,我们看到文件名为【tt】的文件夹也在:

HIVE 上传中文乱码 hive上传数据_Hive_17


在【HDFS】状态下点击文件夹【tt】,【tt】被打开后,显示出里面的文件,即为刚刚上传的【t3】:

HIVE 上传中文乱码 hive上传数据_HUE_18


上传文件以及建表完成。2.表与hdfs文件的删除

2.1 删除表

直接在hive的【query】下使用drop语句删除库表carpenter_biz.tt:

HIVE 上传中文乱码 hive上传数据_HIVE 上传中文乱码_19


执行完成以后,刷新左侧数据库的table,可以看到数据库carpenter_biz下的tt表已经没有了:



HIVE 上传中文乱码 hive上传数据_数据库_20


但切换到【HDFS】下后,发现文件还在:

HIVE 上传中文乱码 hive上传数据_数据库_21


2.2 删除文件

①点击上图中的文件【tt】,出现【t3】文件:

HIVE 上传中文乱码 hive上传数据_Hive_22


点击【t3】,文件被打开(我们还可以对它进行编辑等操作):

HIVE 上传中文乱码 hive上传数据_数据库_23

②在【File Browser】(文件管理器)点击路径中的【carpenter_biz】,也就是我们可操作的数据库carpenter_biz对应的文件夹:

HIVE 上传中文乱码 hive上传数据_上传_24


点击后出现该文件夹下的所有文件列表(分别对应数据库carpenter_biz中的数据表):

HIVE 上传中文乱码 hive上传数据_Hive_25


勾选文件夹【tt】前面的方块,点击【Move to trash】,这时弹出一个确认删除框,点击【yes】就可以了:

HIVE 上传中文乱码 hive上传数据_上传_26


这时hdfs文件列表被自动刷新,【tt】也不见了:

HIVE 上传中文乱码 hive上传数据_Hive_27


这样,表和文件都已经被删除了。

完成。

PS
补充一个别人录的视频,供后期参考:
http://su.huayun.com/index.php/2018/06/08/hive-2/

3.查询编辑页的删除

3.1 在编辑器页面的右上角,点击三个小点,点击查询文件按钮,左侧菜单树打开查询文件列表:


HIVE 上传中文乱码 hive上传数据_上传_28


3.2 从列表中找到要删除的查询文件,右键-【Delete document】:

HIVE 上传中文乱码 hive上传数据_Hive_29


3.3 在弹出框中从新确认要删除的查询文件名,以免误删除:

HIVE 上传中文乱码 hive上传数据_上传_30


3.4 查询列表会立刻自动刷新(也可以点击右上角按钮进行手动刷新),刷新后会发现,列表中的这个查询文件已经不见了:

HIVE 上传中文乱码 hive上传数据_HIVE 上传中文乱码_31


完成。

如有不祥尽的地方欢迎指出,我会尽量补充。
欢迎留言共同学习进步。