public async Task <PartitionDDL> CreateTablePartition(string database, string tableName, string partitionName, bool ifNotExists, string group, string permissions, string location)
        {
            if (string.IsNullOrEmpty(database) || string.IsNullOrEmpty(tableName) || string.IsNullOrEmpty(partitionName))
            {
                throw new Exception("database, table and partition are required.");
            }

            CreatePartitionParams jsonParams = new CreatePartitionParams
            {
                ifNotExists = ifNotExists,
                group       = group,
                permissions = permissions,
                location    = location
            };

            PartitionDDL createPartition = await Put <PartitionDDL>(_webHcatBaseUrl, _webHCatVersion, _webHCatUserName, requestURL.CreateTablePartition(database, tableName, partitionName), jsonParams);

            return(createPartition);
        }