コード例 #1
0
        public async Task <TablePartitionsList> ListTablePartitions(string database, string tableName)
        {
            if (string.IsNullOrEmpty(database) || string.IsNullOrEmpty(tableName))
            {
                throw new Exception("database and table are required.");
            }

            TablePartitionsList tablePartitionsList = await Get <TablePartitionsList>(_webHcatBaseUrl, _webHCatVersion, _webHCatUserName, requestURL.ListTablePartitions(database, tableName));

            return(tablePartitionsList);
        }
コード例 #2
0
ファイル: Program.cs プロジェクト: MKYounis/SharpWebHCat
        public async void ListTablePartitionsTest()
        {
            TablePartitionsList tablePartitionsList = await hManager.ListTablePartitions("testing", "table1");

            if (string.IsNullOrEmpty(tablePartitionsList.error))
            {
                Console.WriteLine(string.Format("table {0}.{1} partitions:", tablePartitionsList.database, tablePartitionsList.table));
                tablePartitionsList.partitions.ForEach(p =>
                {
                    Console.WriteLine(string.Format("Partition {0}:", p.name));
                    p.values.ForEach(v => Console.WriteLine(string.Format("Column: {0}, Value: {1}", v.columnName, v.columnValue)));
                    Task <PartitionDescribe> describeTablePartitionTask = hManager.DescribeTablePartition(tablePartitionsList.database, tablePartitionsList.table, p.name);
                    Task.WaitAll(describeTablePartitionTask);
                    var describePartition = describeTablePartitionTask.GetAwaiter().GetResult();
                    if (string.IsNullOrEmpty(describePartition.error))
                    {
                        Console.WriteLine(string.Format("Partition {0} Describe:", describePartition.partition));
                        Console.WriteLine(string.Format("Partitioned: {0}", describePartition.partitioned));
                        Console.WriteLine(string.Format("Output Format: {0}", describePartition.outputFormat));
                        Console.WriteLine(string.Format("Input Format: {0}", describePartition.inputFormat));
                        foreach (var column in describePartition.columns)
                        {
                            Console.WriteLine(string.Format("Column Name: {0}, Column Type: {1}", column.name, column.type));
                        }
                    }
                    else
                    {
                        Console.WriteLine(((Error)describePartition).ToString());
                    }
                });
            }
            else
            {
                Console.WriteLine(((Error)tablePartitionsList).ToString());
            }
        }