更新时间:2024-08-03 GMT+08:00

Hive WebHCat接口介绍

  • 以下示例的IP为WebHCat所在节点的业务IP,端口为安装时设置的WebHCat HTTP端口。
  • “:version”“status”“version”“version/hive”“version/hadoop”以外,其他API都需要添加user.name参数。

:version(GET)

  • 描述

    查询WebHCat支持的返回类型列表。

  • URL

    http://www.myserver.com/templeton/:version

  • 参数

    参数

    描述

    :version

    WebHCat版本号(当前必须是v1)。

  • 返回结果

    参数

    描述

    responseTypes

    WebHCat支持的返回类型列表。

  • 例子
    curl -ik -u : --negotiate 'http://10.64.35.144:9111/templeton/v1'
    • 示例中的IP为WebHCat所在节点的业务IP,端口为安装时设置的WebHCat端口。
    • 示例中的协议类型在普通集群中为“http”,安全集群为“https”。详见MRS Manager管理界面“服务管理 > Hive > 服务配置”中“templeton.protocol.type”配置。

status (GET)

  • 描述

    获取当前服务器的状态

  • URL

    http://www.myserver.com/templeton/v1/status

  • 参数

  • 返回结果

    参数

    描述

    status

    WebChat连接正常,返回OK。

    version

    字符串,包含版本号,比如v1。

  • 例子
    curl -ik -u : --negotiate 'http://10.64.35.144:9111/templeton/v1/status'
    • 示例中的IP为WebHCat所在节点的业务IP,端口为安装时设置的WebHCat端口。
    • MRS 1.9.2及之后版本默认端口为9111。详见MRS Manager管理界面“服务管理 > Hive > 服务配置”中“templeton.port”配置。
    • 示例中的协议类型在普通集群中为“http”,安全集群为“https”。详见MRS Manager管理界面“服务管理 > Hive > 服务配置”中“templeton.protocol.type”配置。

version (GET)

  • 描述

    获取服务器WebHCat的版本

  • URL

    http://www.myserver.com/templeton/v1/version

  • 参数

  • 返回结果

    参数

    描述

    supportedVersions

    所有支持的版本

    version

    当前服务器WebHCat的版本

  • 例子
    curl -ik -u : --negotiate 'http://10.64.35.144:9111/templeton/v1/version'
    • 示例中的IP为WebHCat所在节点的业务IP,端口为安装时设置的WebHCat端口。
    • MRS 1.9.2及之后版本默认端口为9111。详见MRS Manager管理界面“服务管理 > Hive > 服务配置”中“templeton.port”配置。
    • 示例中的协议类型在普通集群中为“http”,安全集群为“https”。详见MRS Manager管理界面“服务管理 > Hive > 服务配置”中“templeton.protocol.type”配置。

version/hive (GET)

  • 描述

    获取服务器Hive的版本

  • URL

    http://www.myserver.com/templeton/v1/version/hive

  • 参数

  • 返回结果

    参数

    描述

    module

    hive

    version

    Hive的版本

  • 例子
    curl -ik -u : --negotiate 'http://10.64.35.144:9111/templeton/v1/version/hive'
    • 示例中的IP为WebHCat所在节点的业务IP,端口为安装时设置的WebHCat端口。
    • MRS 1.9.2及之后版本默认端口为9111。详见MRS Manager管理界面“服务管理 > Hive > 服务配置”中“templeton.port”配置。
    • 示例中的协议类型在普通集群中为“http”,安全集群为“https”。详见MRS Manager管理界面“服务管理 > Hive > 服务配置”中“templeton.protocol.type”配置。

version/hadoop (GET)

  • 描述

    获取服务器Hadoop的版本

  • URL

    http://www.myserver.com/templeton/v1/version/hadoop

  • 参数

  • 返回结果

    参数

    描述

    module

    hadoop

    version

    Hadoop的版本

  • 例子
    curl -ik -u : --negotiate 'http://10.64.35.144:9111/templeton/v1/version/hadoop'
    • 示例中的IP为WebHCat所在节点的业务IP,端口为安装时设置的WebHCat端口。
    • MRS 1.9.2及之后版本默认端口为9111。详见MRS Manager管理界面“服务管理 > Hive > 服务配置”中“templeton.port”配置。
    • 示例中的协议类型在普通集群中为“http”,安全集群为“https”。详见MRS Manager管理界面“服务管理 > Hive > 服务配置”中“templeton.protocol.type”配置。

ddl (POST)

  • 描述

    执行DDL语句

  • URL

    http://www.myserver.com/templeton/v1/ddl

  • 参数

    参数

    描述

    exec

    需要执行的HCatalog DDL语句。

    group

    当DDL是创建表时,创建表使用的用户组。

    permissions

    当DDL是创建表时,创建表使用的权限,格式为rwxr-xr-x。

  • 返回结果

    参数

    描述

    stdout

    HCatalog执行时的标准输出值,可能为空。

    stderr

    HCatalog执行时的错误输出,可能为空。

    exitcode

    HCatalog的返回值。

  • 例子
    curl -ik -u : --negotiate -d exec="show tables" 'http://10.64.35.144:9111/templeton/v1/ddl?user.name=user1'
    • 示例中的IP为WebHCat所在节点的业务IP,端口为安装时设置的WebHCat端口。
    • MRS 1.9.2及之后版本默认端口为9111。详见MRS Manager管理界面“服务管理 > Hive > 服务配置”中“templeton.port”配置。
    • 示例中的协议类型在普通集群中为“http”,安全集群为“https”。详见MRS Manager管理界面“服务管理 > Hive > 服务配置”中“templeton.protocol.type”配置。

ddl/database (GET)

  • 描述

    列出所有的数据库

  • URL

    http://www.myserver.com/templeton/v1/ddl/database

  • 参数

    参数

    描述

    like

    用来匹配数据库名的正则表达式。

  • 返回结果

    参数

    描述

    databases

    数据库名

  • 例子
    curl -ik -u : --negotiate 'http://10.64.35.144:9111/templeton/v1/ddl/database?user.name=user1'
    • 示例中的IP为WebHCat所在节点的业务IP,端口为安装时设置的WebHCat端口。
    • MRS 1.9.2及之后版本默认端口为9111。详见MRS Manager管理界面“服务管理 > Hive > 服务配置”中“templeton.port”配置。
    • 示例中的协议类型在普通集群中为“http”,安全集群为“https”。详见MRS Manager管理界面“服务管理 > Hive > 服务配置”中“templeton.protocol.type”配置。

ddl/database/:db (GET)

  • 描述

    获取指定数据库的详细信息

  • URL

    http://www.myserver.com/templeton/v1/ddl/database/:db

  • 参数

    参数

    描述

    :db

    数据库名

  • 返回结果

    参数

    描述

    location

    数据库位置

    comment

    数据库的备注,如果没有备注则其参数值不存在

    database

    数据库名

    owner

    数据库的所有者

    ownertype

    数据库所有者的类型

  • 例子
    curl -ik -u : --negotiate 'http://10.64.35.144:9111/templeton/v1/ddl/database/default?user.name=user1'
    • 示例中的IP为WebHCat所在节点的业务IP,端口为安装时设置的WebHCat端口。
    • MRS 1.9.2及之后版本默认端口为9111。详见MRS Manager管理界面“服务管理 > Hive > 服务配置”中“templeton.port”配置。
    • 示例中的协议类型在普通集群中为“http”,安全集群为“https”。详见MRS Manager管理界面“服务管理 > Hive > 服务配置”中“templeton.protocol.type”配置。

ddl/database/:db (PUT)

  • 描述

    创建数据库

  • URL

    http://www.myserver.com/templeton/v1/ddl/database/:db

  • 参数

    参数

    描述

    :db

    数据库名

    group

    创建数据库时使用的用户组

    permission

    创建数据库时使用的权限

    location

    数据库的位置

    comment

    数据库的备注,比如描述

    properties

    数据库属性

  • 返回结果

    参数

    描述

    database

    新创建的数据库的名字

  • 例子
    curl -ik -u : --negotiate -X PUT -HContent-type:application/json -d '{"location": "/tmp/a", "comment": "my db", "properties": {"a": "b"}}' 'http://10.64.35.144:9111/templeton/v1/ddl/database/db2?user.name=user1'
    • 示例中的IP为WebHCat所在节点的业务IP,端口为安装时设置的WebHCat端口。
    • MRS 1.9.2及之后版本默认端口为9111。详见MRS Manager管理界面“服务管理 > Hive > 服务配置”中“templeton.port”配置。
    • 示例中的协议类型在普通集群中为“http”,安全集群为“https”。详见MRS Manager管理界面“服务管理 > Hive > 服务配置”中“templeton.protocol.type”配置。

ddl/database/:db (DELETE)

  • 描述

    删除数据库

  • URL

    http://www.myserver.com/templeton/v1/ddl/database/:db

  • 参数

    参数

    描述

    :db

    数据库名

    ifExists

    如果指定数据库不存在,Hive会返回错误,除非设置了ifExists为true。

    option

    将参数设置成cascade或者restrict。如果选择cascade,将清除一切,包括数据和定义。如果选择restrict,表格内容为空,模式也将不存在。

  • 返回结果

    参数

    描述

    database

    删除的数据库名字

  • 例子
    curl -ik -u : --negotiate -X DELETE 'http://10.64.35.144:9111/templeton/v1/ddl/database/db3?ifExists=true&user.name=user1'
    • 示例中的IP为WebHCat所在节点的业务IP,端口为安装时设置的WebHCat端口。
    • MRS 1.9.2及之后版本默认端口为9111。详见MRS Manager管理界面“服务管理 > Hive > 服务配置”中“templeton.port”配置。
    • 示例中的协议类型在普通集群中为“http”,安全集群为“https”。详见MRS Manager管理界面“服务管理 > Hive > 服务配置”中“templeton.protocol.type”配置。

ddl/database/:db/table (GET)

  • 描述

    列出数据库下的所有表

  • URL

    http://www.myserver.com/templeton/v1/ddl/database/:db/table

  • 参数

    参数

    描述

    :db

    数据库名

    like

    用来匹配表名的正则表达式

  • 返回结果

    参数

    描述

    database

    数据库名字

    tables

    数据库下表名列表

  • 例子
    curl -ik -u : --negotiate 'http://10.64.35.144:9111/templeton/v1/ddl/database/default/table?user.name=user1'
    • 示例中的IP为WebHCat所在节点的业务IP,端口为安装时设置的WebHCat端口。
    • MRS 1.9.2及之后版本默认端口为9111。详见MRS Manager管理界面“服务管理 > Hive > 服务配置”中“templeton.port”配置。
    • 示例中的协议类型在普通集群中为“http”,安全集群为“https”。详见MRS Manager管理界面“服务管理 > Hive > 服务配置”中“templeton.protocol.type”配置。

ddl/database/:db/table/:table (GET)

  • 描述

    获取表的详细信息

  • URL

    http://www.myserver.com/templeton/v1/ddl/database/:db/table/:table

    http://www.myserver.com/templeton/v1/ddl/database/:db/table/:table?format=extended

  • 参数

    参数

    描述

    :db

    数据库名

    :table

    表名

    format

    设置"format=extended"可查看表的更多信息。(其作用相当于HQL:“show table extended like tableName”)。

  • 返回结果

    参数

    描述

    columns

    列名和类型

    database

    数据库名

    table

    表名

    partitioned

    是否分区表,只有extended下才会显示。

    location

    表的位置,只有extended下才会显示。

    outputformat

    输出形式,只有extended下才会显示。

    inputformat

    输入形式,只有extended下才会显示。

    owner

    表的属主,只有extended下才会显示。

    partitionColumns

    分区的列,只有extended下才会显示。

  • 例子
    curl -ik -u : --negotiate 'http://10.64.35.144:9111/templeton/v1/ddl/database/default/table/t1?format=extended&user.name=user1'
    • 示例中的IP为WebHCat所在节点的业务IP,端口为安装时设置的WebHCat端口。
    • MRS 1.9.2及之后版本默认端口为9111。详见MRS Manager管理界面“服务管理 > Hive > 服务配置”中“templeton.port”配置。
    • 示例中的协议类型在普通集群中为“http”,安全集群为“https”。详见MRS Manager管理界面“服务管理 > Hive > 服务配置”中“templeton.protocol.type”配置。

ddl/database/:db/table/:table (PUT)

  • 描述

    创建表

  • URL

    http://www.myserver.com/templeton/v1/ddl/database/:db/table/:table

  • 参数

    参数

    描述

    :db

    数据库名

    :table

    新建表名

    group

    创建表时使用的用户组

    permissions

    创建表时使用的权限

    external

    指定位置,hive不使用表的默认位置。

    ifNotExists

    设置为true,当表存在时不会报错。

    comment

    备注

    columns

    列描述,包括列名,类型和可选备注。

    partitionedBy

    分区列描述,用于划分表格。参数columns列出了列名,类型和可选备注。

    clusteredBy

    分桶列描述,参数包括columnNames、sortedBy、和numberOfBuckets。参数columnNames包括columnName和排列顺序(ASC为升序,DESC为降序)。

    format

    存储格式,参数包括rowFormat,storedAs,和storedBy。

    location

    HDFS路径

    tableProperties

    表属性和属性值(name-value对)

  • 返回结果

    参数

    描述

    database

    数据库名

    table

    表名

  • 例子
    curl -ik -u : --negotiate -X PUT -HContent-type:application/json -d '{"columns": [{"name": "id", "type": "int"}, {"name": "name","type": "string"}], "comment": "hello","format": {"storedAs": "orc"} }' 'http://10.64.35.144:9111/templeton/v1/ddl/database/db3/table/tbl1?user.name=user1'
    • 示例中的IP为WebHCat所在节点的业务IP,端口为安装时设置的WebHCat端口。
    • MRS 1.9.2及之后版本默认端口为9111。详见MRS Manager管理界面“服务管理 > Hive > 服务配置”中“templeton.port”配置。
    • 示例中的协议类型在普通集群中为“http”,安全集群为“https”。详见MRS Manager管理界面“服务管理 > Hive > 服务配置”中“templeton.protocol.type”配置。

ddl/database/:db/table/:table (POST)

  • 描述

    重命名表

  • URL

    http://www.myserver.com/templeton/v1/ddl/database/:db/table/:table

  • 参数

    参数

    描述

    :db

    数据库名

    :table

    已有表名

    rename

    新表表名

  • 返回结果

    参数

    描述

    database

    数据库名

    table

    新表表名

  • 例子
    curl -ik -u : --negotiate -d rename=table1 'http://10.64.35.144:9111/templeton/v1/ddl/database/default/table/tbl1?user.name=user1'
    • 示例中的IP为WebHCat所在节点的业务IP,端口为安装时设置的WebHCat端口。
    • MRS 1.9.2及之后版本默认端口为9111。详见MRS Manager管理界面“服务管理 > Hive > 服务配置”中“templeton.port”配置。
    • 示例中的协议类型在普通集群中为“http”,安全集群为“https”。详见MRS Manager管理界面“服务管理 > Hive > 服务配置”中“templeton.protocol.type”配置。

ddl/database/:db/table/:table (DELETE)

  • 描述

    删除表

  • URL

    http://www.myserver.com/templeton/v1/ddl/database/:db/table/:table

  • 参数

    参数

    描述

    :db

    数据库名

    :table

    表名

    ifExists

    当设置为true时,不报错。

  • 返回结果

    参数

    描述

    database

    数据库名

    table

    表名

  • 例子
    curl -ik -u : --negotiate -X DELETE 'http://10.64.35.144:9111/templeton/v1/ddl/database/default/table/table2?ifExists=true&user.name=user1'
    • 示例中的IP为WebHCat所在节点的业务IP,端口为安装时设置的WebHCat端口。
    • MRS 1.9.2及之后版本默认端口为9111。详见MRS Manager管理界面“服务管理 > Hive > 服务配置”中“templeton.port”配置。
    • 示例中的协议类型在普通集群中为“http”,安全集群为“https”。详见MRS Manager管理界面“服务管理 > Hive > 服务配置”中“templeton.protocol.type”配置。

ddl/database/:db/table/:existingtable/like/:newtable (PUT)

  • 描述

    创建一张和已经存在的表一样的表

  • URL

    http://www.myserver.com/templeton/v1/ddl/database/:db/table/:existingtable/like/:newtable

  • 参数

    参数

    描述

    :db

    数据库名

    :existingtable

    已有表名

    :newtable

    新表名

    group

    创建表时使用的用户组。

    permissions

    创建表时使用的权限。

    external

    指定位置,hive不使用表的默认位置。

    ifNotExists

    当设置为true时,如果表已经存在,Hive不报错。

    location

    HDFS路径

  • 返回结果

    参数

    描述

    database

    数据库名

    table

    表名

  • 例子
    curl -ik -u : --negotiate -X PUT -HContent-type:application/json -d '{"ifNotExists": "true"}' 'http://10.64.35.144:9111/templeton/v1/ddl/database/default/table/t1/like/tt1?user.name=user1'
    • 示例中的IP为WebHCat所在节点的业务IP,端口为安装时设置的WebHCat端口。
    • MRS 1.9.2及之后版本默认端口为9111。详见MRS Manager管理界面“服务管理 > Hive > 服务配置”中“templeton.port”配置。
    • 示例中的协议类型在普通集群中为“http”,安全集群为“https”。详见MRS Manager管理界面“服务管理 > Hive > 服务配置”中“templeton.protocol.type”配置。

ddl/database/:db/table/:table/partition(GET)

  • 描述

    列出表的分区信息

  • URL

    http://www.myserver.com/templeton/v1/ddl/database/:db/table/:table/partition

  • 参数

    参数

    描述

    :db

    数据库名

    :table

    表名

  • 返回结果

    参数

    描述

    database

    数据库名

    table

    表名

    partitions

    分区属性值和分区名

  • 例子
    curl -ik -u : --negotiate http://10.64.35.144:9111/templeton/v1/ddl/database/default/table/x1/partition?user.name=user1
    • 示例中的IP为WebHCat所在节点的业务IP,端口为安装时设置的WebHCat端口。
    • MRS 1.9.2及之后版本默认端口为9111。详见MRS Manager管理界面“服务管理 > Hive > 服务配置”中“templeton.port”配置。
    • 示例中的协议类型在普通集群中为“http”,安全集群为“https”。详见MRS Manager管理界面“服务管理 > Hive > 服务配置”中“templeton.protocol.type”配置。

ddl/database/:db/table/:table/partition/:partition(GET)

  • 描述

    列出表的某个具体分区的信息

  • URL

    http://www.myserver.com/templeton/v1/ddl/database/:db/table/:table/partition/:partition

  • 参数

    参数

    描述

    :db

    数据库名

    :table

    表名

    :partition

    分区名,解码http引用时,需当心。比如country=%27algeria%27。

  • 返回结果

    参数

    描述

    database

    数据库名

    table

    表名

    partition

    分区名

    partitioned

    如果设置为true,为分区表

    location

    表的存储路径

    outputFormat

    输出格式

    columns

    列名,类型,备注

    owner

    所有者

    partitionColumns

    分区的列

    inputFormat

    输入格式

    totalNumberFiles

    分区下文件个数

    totalFileSize

    分区下文件总大小

    maxFileSize

    最大文件大小

    minFileSize

    最小文件大小

    lastAccessTime

    最后访问时间

    lastUpdateTime

    最后更新时间

  • 例子
    curl -ik -u : --negotiate http://10.64.35.144:9111/templeton/v1/ddl/database/default/table/x1/partition/dt=1?user.name=user1
    • 示例中的IP为WebHCat所在节点的业务IP,端口为安装时设置的WebHCat端口。
    • MRS 1.9.2及之后版本默认端口为9111。详见MRS Manager管理界面“服务管理 > Hive > 服务配置”中“templeton.port”配置。
    • 示例中的协议类型在普通集群中为“http”,安全集群为“https”。详见MRS Manager管理界面“服务管理 > Hive > 服务配置”中“templeton.protocol.type”配置。

ddl/database/:db/table/:table/partition/:partition(PUT)

  • 描述

    增加一个表分区

  • URL

    http://www.myserver.com/templeton/v1/ddl/database/:db/table/:table/partition/:partition

  • 参数

    参数

    描述

    :db

    数据库名。

    :table

    表名。

    group

    创建新分区时使用的用户组。

    permissions

    创建新分区时用户的权限。

    location

    新分区的存放位置。

    ifNotExists

    如果设置为true, 当分区已经存在,系统报错。

  • 返回结果

    参数

    描述

    database

    数据库名

    table

    表名

    partitions

    分区名

  • 例子
    curl -ik -u : --negotiate -X PUT -HContent-type:application/json -d '{}' http://10.64.35.144:9111/templeton/v1/ddl/database/default/table/x1/partition/dt=10?user.name=user1
    • 示例中的IP为WebHCat所在节点的业务IP,端口为安装时设置的WebHCat端口。
    • MRS 1.9.2及之后版本默认端口为9111。详见MRS Manager管理界面“服务管理 > Hive > 服务配置”中“templeton.port”配置。
    • 示例中的协议类型在普通集群中为“http”,安全集群为“https”。详见MRS Manager管理界面“服务管理 > Hive > 服务配置”中“templeton.protocol.type”配置。

ddl/database/:db/table/:table/partition/:partition(DELETE)

  • 描述

    删除一个表分区

  • URL

    http://www.myserver.com/templeton/v1/ddl/database/:db/table/:table/partition/:partition

  • 参数

    参数

    描述

    :db

    数据库名。

    :table

    表名。

    group

    删除新分区时使用的用户组。

    permissions

    删除新分区时用户的权限, 格式为rwxrw-r-x。

    ifExists

    如果指定分区不存在,Hive报错。参数值设置为true除外。

  • 返回结果

    参数

    描述

    database

    数据库名

    table

    表名

    partitions

    分区名

  • 例子
    curl -ik -u : --negotiate -X DELETE -HContent-type:application/json -d '{}' http://10.64.35.144:9111/templeton/v1/ddl/database/default/table/x1/partition/dt=10?user.name=user1
    • 示例中的IP为WebHCat所在节点的业务IP,端口为安装时设置的WebHCat端口。
    • MRS 1.9.2及之后版本默认端口为9111。详见MRS Manager管理界面“服务管理 > Hive > 服务配置”中“templeton.port”配置。
    • 示例中的协议类型在普通集群中为“http”,安全集群为“https”。详见MRS Manager管理界面“服务管理 > Hive > 服务配置”中“templeton.protocol.type”配置。

ddl/database/:db/table/:table/column(GET)

  • 描述

    获取表的column列表

  • URL

    http://www.myserver.com/templeton/v1/ddl/database/:db/table/:table/column

  • 参数

    参数

    描述

    :db

    数据库名

    :table

    表名

  • 返回结果

    参数

    描述

    database

    数据库名

    table

    表名

    columns

    列名字和类型

  • 例子
    curl -ik -u : --negotiate http://10.64.35.144:9111/templeton/v1/ddl/database/default/table/t1/column?user.name=user1
    • 示例中的IP为WebHCat所在节点的业务IP,端口为安装时设置的WebHCat端口。
    • MRS 1.9.2及之后版本默认端口为9111。详见MRS Manager管理界面“服务管理 > Hive > 服务配置”中“templeton.port”配置。
    • 示例中的协议类型在普通集群中为“http”,安全集群为“https”。详见MRS Manager管理界面“服务管理 > Hive > 服务配置”中“templeton.protocol.type”配置。

ddl/database/:db/table/:table/column/:column(GET)

  • 描述

    获取表的某个具体的column的信息

  • URL

    http://www.myserver.com/templeton/v1/ddl/database/:db/table/:table/column/:column

  • 参数

    参数

    描述

    :db

    数据库名

    :table

    表名

    :column

    列名

  • 返回结果

    参数

    描述

    database

    数据库名

    table

    表名

    column

    列名字和类型

  • 例子
    curl -ik -u : --negotiate http://10.64.35.144:9111/templeton/v1/ddl/database/default/table/t1/column/id?user.name=user1
    • 示例中的IP为WebHCat所在节点的业务IP,端口为安装时设置的WebHCat端口。
    • MRS 1.9.2及之后版本默认端口为9111。详见MRS Manager管理界面“服务管理 > Hive > 服务配置”中“templeton.port”配置。
    • 示例中的协议类型在普通集群中为“http”,安全集群为“https”。详见MRS Manager管理界面“服务管理 > Hive > 服务配置”中“templeton.protocol.type”配置。

ddl/database/:db/table/:table/column/:column(PUT)

  • 描述

    增加表的一列

  • URL

    http://www.myserver.com/templeton/v1/ddl/database/:db/table/:table/column/:column

  • 参数

    参数

    描述

    :db

    数据库名

    :table

    表名

    :column

    列名

    type

    列类型,比如string和int

    comment

    列备注,比如描述

  • 返回结果

    参数

    描述

    database

    数据库名

    table

    表名

    column

    列名

  • 例子
    curl -ik -u : --negotiate -X PUT -HContent-type:application/json -d '{"type": "string", "comment": "new column"}'  http://10.64.35.144:9111/templeton/v1/ddl/database/default/table/t1/column/name?user.name=user1
    • 示例中的IP为WebHCat所在节点的业务IP,端口为安装时设置的WebHCat端口。
    • MRS 1.9.2及之后版本默认端口为9111。详见MRS Manager管理界面“服务管理 > Hive > 服务配置”中“templeton.port”配置。
    • 示例中的协议类型在普通集群中为“http”,安全集群为“https”。详见MRS Manager管理界面“服务管理 > Hive > 服务配置”中“templeton.protocol.type”配置。

ddl/database/:db/table/:table/property(GET)

  • 描述

    获取表的property

  • URL

    http://www.myserver.com/templeton/v1/ddl/database/:db/table/:table/property

  • 参数

    参数

    描述

    :db

    数据库名

    :table

    表名

  • 返回结果

    参数

    描述

    database

    数据库名

    table

    表名

    properties

    属性列表

  • 例子
    curl -ik -u : --negotiate http://10.64.35.144:9111/templeton/v1/ddl/database/default/table/t1/property?user.name=user1
    • 示例中的IP为WebHCat所在节点的业务IP,端口为安装时设置的WebHCat端口。
    • MRS 1.9.2及之后版本默认端口为9111。详见MRS Manager管理界面“服务管理 > Hive > 服务配置”中“templeton.port”配置。
    • 示例中的协议类型在普通集群中为“http”,安全集群为“https”。详见MRS Manager管理界面“服务管理 > Hive > 服务配置”中“templeton.protocol.type”配置。

ddl/database/:db/table/:table/property/:property(GET)

  • 描述

    获取表的某个具体的property的值

  • URL

    http://www.myserver.com/templeton/v1/ddl/database/:db/table/:table/property/:property

  • 参数

    参数

    描述

    :db

    数据库名

    :table

    表名

    :property

    属性名

  • 返回结果

    参数

    描述

    database

    数据库名

    table

    表名

    property

    属性列表

  • 例子
    curl -ik -u : --negotiate http://10.64.35.144:9111/templeton/v1/ddl/database/default/table/t1/property/last_modified_by?user.name=user1
    • 示例中的IP为WebHCat所在节点的业务IP,端口为安装时设置的WebHCat端口。
    • MRS 1.9.2及之后版本默认端口为9111。详见MRS Manager管理界面“服务管理 > Hive > 服务配置”中“templeton.port”配置。
    • 示例中的协议类型在普通集群中为“http”,安全集群为“https”。详见MRS Manager管理界面“服务管理 > Hive > 服务配置”中“templeton.protocol.type”配置。

ddl/database/:db/table/:table/property/:property(PUT)

  • 描述

    增加表的property的值

  • URL

    http://www.myserver.com/templeton/v1/ddl/database/:db/table/:table/property/:property

  • 参数

    参数

    描述

    :db

    数据库名

    :table

    表名

    :property

    属性名

    value

    属性值

  • 返回结果

    参数

    描述

    database

    数据库名

    table

    表名

    property

    属性名

  • 例子
    curl -ik -u : --negotiate -X PUT -HContent-type:application/json -d '{"value": "my value"}' http://10.64.35.144:9111/templeton/v1/ddl/database/default/table/t1/property/mykey?user.name=user1
    • 示例中的IP为WebHCat所在节点的业务IP,端口为安装时设置的WebHCat端口。
    • MRS 1.9.2及之后版本默认端口为9111。详见MRS Manager管理界面“服务管理 > Hive > 服务配置”中“templeton.port”配置。
    • 示例中的协议类型在普通集群中为“http”,安全集群为“https”。详见MRS Manager管理界面“服务管理 > Hive > 服务配置”中“templeton.protocol.type”配置。

mapreduce/jar(POST)

  • 描述

    执行MR任务,在执行之前,需要将MR的jar包上传到HDFS中

  • URL

    http://www.myserver.com/templeton/v1/mapreduce/jar

  • 参数

    参数

    描述

    jar

    需要执行的MR的jar包。

    class

    需要执行的MR的分类。

    libjars

    需要加入的classpath的jar包名,以逗号分隔。

    files

    需要拷贝到MR集群的文件名,以逗号分隔。

    arg

    Main类接受的输入参数。

    define

    设置hadoop的配置,格式为:define=NAME=VALUE。

    statusdir

    WebHCat会将执行的MR任务的状态写入到statusdir中。如果设置了这个值,那么需要用户手动进行删除。

    enablelog

    如果statusdir设置,enablelog设置为true,收集Hadoop任务配置和日志到$statusdir/logs。此后,成功和失败的尝试,都将记录进日志。$statusdir/logs下,子目录布局为:

    logs/$job_id (directory for $job_id)

    logs/$job_id/job.xml.html

    logs/$job_id/$attempt_id (directory for $attempt_id)

    logs/$job_id/$attempt_id/stderr

    logs/$job_id/$attempt_id/stdout

    logs/$job_id/$attempt_id/syslog

    仅支持Hadoop 1.X。

    callback

    在MR任务执行完的回调地址,使用$jobId,将任务ID嵌入回调地址。在回调地址中,任务ID替换该$jobId。

  • 返回结果

    参数

    描述

    id

    任务ID,类似“job_201110132141_0001”

  • 例子
    curl -ik -u : --negotiate -d jar="/tmp/word.count-0.0.1-SNAPSHOT.jar" -d class=com.huawei.word.count.WD -d statusdir="/output" "http://10.64.35.144:9111/templeton/v1/mapreduce/jar?user.name=user1"
    • 示例中的IP为WebHCat所在节点的业务IP,端口为安装时设置的WebHCat端口。
    • MRS 1.9.2及之后版本默认端口为9111。详见MRS Manager管理界面“服务管理 > Hive > 服务配置”中“templeton.port”配置。
    • 示例中的协议类型在普通集群中为“http”,安全集群为“https”。详见MRS Manager管理界面“服务管理 > Hive > 服务配置”中“templeton.protocol.type”配置。

mapreduce/streaming(POST)

  • 描述

    以Streaming方式提交MR任务

  • URL

    http://www.myserver.com/templeton/v1/mapreduce/streaming

  • 参数

    参数

    描述

    input

    Hadoop中input的路径。

    output

    存储output的路径。如没有规定,WebChat将output储存在使用队列资源可以发现到的路径。

    mapper

    mapper程序位置。

    reducer

    reducer程序位置。

    files

    HDFS文件添加到分布式缓存中。

    arg

    设置argument。

    define

    设置hadoop的配置变量,格式:define=NAME=VALUE

    cmdenv

    设置环境变量,格式:cmdenv=NAME=VALUE

    statusdir

    WebHCat会将执行的MR任务的状态写入到statusdir中。如果设置了这个值,那么需要用户手动进行删除。

    enablelog

    如果statusdir设置,enablelog设置为true,收集Hadoop任务配置和日志到$statusdir/logs。此后,成功和失败的尝试,都将记录进日志。$statusdir/logs下,子目录布局为:

    logs/$job_id (directory for $job_id)

    logs/$job_id/job.xml.html

    logs/$job_id/$attempt_id (directory for $attempt_id)

    logs/$job_id/$attempt_id/stderr

    logs/$job_id/$attempt_id/stdout

    logs/$job_id/$attempt_id/syslog

    仅支持Hadoop 1.X。

    callback

    在MR任务执行完的回调地址,使用$jobId,将任务ID嵌入回调地址。在回调地址中,任务ID将替换该$jobId。

  • 返回结果

    参数

    描述

    id

    任务ID,类似job_201110132141_0001

  • 例子
    curl -i -u : --negotiate -d input=/input -d output=/oooo -d mapper=/bin/cat -d reducer="/usr/bin/wc -w" -d statusdir="/output" 'http://10.64.35.144:50111/templeton/v1/mapreduce/streaming?user.name=user1'
  • 本接口的使用需要前置条件,请参阅Hive应用开发规则
  • 示例中的IP为WebHCat所在节点的业务IP,端口为安装时设置的WebHCat端口。
  • MRS 1.9.2及之后版本默认端口为9111。详见MRS Manager管理界面“服务管理 > Hive > 服务配置”中“templeton.port”配置。

/hive(POST)

  • 描述

    执行Hive命令

  • URL

    http://www.myserver.com/templeton/v1/hive

  • 参数

    参数

    描述

    execute

    hive命令,包含整个和短的Hive命令。

    file

    包含hive命令的HDFS文件。

    files

    需要拷贝到MR集群的文件名,以逗号分隔。

    arg

    设置argument。

    define

    设置hadoop的配置,格式:define=key=value

    statusdir

    WebHCat会将执行的MR任务的状态写入到statusdir中。如果设置了这个值,那么需要用户手动进行删除。

    enablelog

    如果statusdir设置,enablelog设置为true,收集Hadoop任务配置和日志到$statusdir/logs。此后,成功和失败的尝试,都将记录进日志。$statusdir/logs下,子目录布局为:

    logs/$job_id (directory for $job_id)

    logs/$job_id/job.xml.html

    logs/$job_id/$attempt_id (directory for $attempt_id)

    logs/$job_id/$attempt_id/stderr

    logs/$job_id/$attempt_id/stdout

    logs/$job_id/$attempt_id/syslog

    callback

    在MR任务执行完的回调地址,使用$jobId,将任务ID嵌入回调地址。在回调地址中,任务ID将替换该$jobId。

  • 返回结果

    参数

    描述

    id

    任务ID,类似job_201110132141_0001

  • 例子
    curl -ik -u : --negotiate -d execute="select count(*) from t1" -d statusdir="/output" "http://10.64.35.144:9111/templeton/v1/hive?user.name=user1"
    • 示例中的IP为WebHCat所在节点的业务IP,端口为安装时设置的WebHCat端口。
    • MRS 1.9.2及之后版本默认端口为9111。详见MRS Manager管理界面“服务管理 > Hive > 服务配置”中“templeton.port”配置。
    • 示例中的协议类型在普通集群中为“http”,安全集群为“https”。详见MRS Manager管理界面“服务管理 > Hive > 服务配置”中“templeton.protocol.type”配置。

jobs(GET)

  • 描述

    获取所有的job id

  • URL

    http://www.myserver.com/templeton/v1/jobs

  • 参数

    参数

    描述

    fields

    如果设置成*,那么会返回每个job的详细信息。如果没设置,只返回任务ID。现在只能设置成*,如设置成其他值,将出现异常。

    jobid

    如果设置了jobid,那么只有字典顺序比jobid大的job才会返回。比如,如果jobid为"job_201312091733_0001",只有大于该值的job才能返回。返回的job的个数,取决于numrecords。

    numrecords

    如果设置了numrecords和jobid,jobid列表按字典顺序排列,待jobid返回后,可以得到numrecords的最大值。如果jobid没有设置, 而numrecords设置了参数值,jobid按字典顺序排列后,可以得到numrecords的最大值。相反,如果numrecords没有设置,而jobid设置了参数值,所有大于jobid的job都将返回。

    showall

    如果设置为true,用户可以获取所有job,如果设置为false,则只获取当前用户提交的job。默认为false。

  • 返回结果

    参数

    描述

    id

    Job id

    detail

    如果showall为true,那么显示detail信息,否则为null。

  • 例子
    curl -ik -u : --negotiate  "http://10.64.35.144:9111/templeton/v1/jobs?user.name=user1"
    • 示例中的IP为WebHCat所在节点的业务IP,端口为安装时设置的WebHCat端口。
    • MRS 1.9.2及之后版本默认端口为9111。详见MRS Manager管理界面“服务管理 > Hive > 服务配置”中“templeton.port”配置。
    • 示例中的协议类型在普通集群中为“http”,安全集群为“https”。详见MRS Manager管理界面“服务管理 > Hive > 服务配置”中“templeton.protocol.type”配置。

jobs/:jobid(GET)

  • 描述

    获取指定job的信息

  • URL

    http://www.myserver.com/templeton/v1/jobs/:jobid

  • 参数

    参数

    描述

    jobid

    Job创建后的Jobid

  • 返回结果

    参数

    描述

    status

    包含job状态信息的json对象。

    profile

    包含job信息的json对象。WebHCat解析JobProfile对象中的信息,该对象因Hadoop版本不同而不同。

    id

    Job的id。

    percentComplete

    完成百分比,比如75% complete,如果完成后则为null。

    user

    创建job的用户。

    callback

    回调URL(如果有)。

    userargs

    用户提交job时的argument参数和参数值。

    exitValue

    job退出值。

  • 例子
    curl -ik -u : --negotiate  "http://10.64.35.144:9111/templeton/v1/jobs/job_1440386556001_0255?user.name=user1"
    • 示例中的IP为WebHCat所在节点的业务IP,端口为安装时设置的WebHCat端口。
    • MRS 1.9.2及之后版本默认端口为9111。详见MRS Manager管理界面“服务管理 > Hive > 服务配置”中“templeton.port”配置。
    • 示例中的协议类型在普通集群中为“http”,安全集群为“https”。详见MRS Manager管理界面“服务管理 > Hive > 服务配置”中“templeton.protocol.type”配置。

jobs/:jobid(DELETE)

  • 描述

    kill任务

  • URL

    http://www.myserver.com/templeton/v1/jobs/:jobid

  • 参数

    参数

    描述

    :jobid

    删除的Job的ID

  • 返回结果

    参数

    描述

    user

    提交Job的用户。

    status

    包含Job状态信息的JSON对象。

    profile

    包含job信息的json对象。WebHCat解析JobProfile对象中的信息,该对象因Hadoop版本不同而不同。

    id

    Job的id。

    callback

    回调的URL(如果有)。

  • 例子
    curl -ik -u : --negotiate -X DELETE  "http://10.64.35.143:9111/templeton/v1/jobs/job_1440386556001_0265?user.name=user1"
    • 示例中的IP为WebHCat所在节点的业务IP,端口为安装时设置的WebHCat端口。
    • 示例中的协议类型在普通集群中为“http”,安全集群为“https”。详见MRS Manager管理界面“服务管理 > Hive > 服务配置”中“templeton.protocol.type”配置。