Hcatalog尽管作为一个子项目,却给整个Hadoop生态环境带来了一股清流,它让数据的访问不再杂乱无章,那么Hcatalog有什么样的作用呢?它是怎样统一定义数据的呢?
HCatalog是用来访问Metastore的Hive子项目,它的存在给了整个Hadoop生态环境一个统一的定义。
为什么这样说呢?在整个生态中,使用HDFS的项目是很多的,比如Hive、Pig、Spark,它们会去使用同样一个HDFS的数据。当它们访问数据的时候,Hive可能会将数据解析为整型,Pig解析成String类型,Spark解析成其它的类型,所以这个定义并没有统一起来。而Hcatalog就可以统一给一个定义,例如数据定义为整型,所有项目通过Hcatalog来访问数据,访问到的数据类型就都为整型。
Hcatalog可以通过命令行及RESTAPI来访问,允许你使用HiveQLDDL语法来定义表。从Hive、Impala、MapReduce、Pig和其他工具来访问表,包含在CDH4.2及之后的版本中。
在HCatalog中创建表
(1)HCatalog使用Hive的DDL语法,可以使用-e选项来指定单个命令。
(2)Tip:保存很长的命令为文件,使用-f选项. 如果文件中包含多条语句,使用分号分隔
在HCatalog里查看元数据
(1)SHOW TABLES命令也可以直接查看表
(2)DESCRIBE命令列出指定表的字段,允许你使用HiveQLDDL语法来定义表
在HCatalog里移除表
(1)DROP TABLE命令跟Hive和Impala里一样
注意:将同时移除数据和元数据(除了外部表)
我们在平常学习的过程中就要重视此类子项目的使用以及它们的作用,掌握和理解它们对于我们更好的掌握大数据技术有着重要的意义。我平时喜欢关注微信资讯平台“大数据cn”,关注一些大数据的最新信息及一些知识经验分享,改善了我自己的知识架构。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。