def describe_partitions(request, database, table): db = _get_db(user=request.user) table_obj = db.get_table(database, table) if not table_obj.partition_keys: raise PopupException(_("Table '%(table)s' is not partitioned.") % {'table': table}) reverse_sort = request.GET.get("sort", "desc").lower() == "desc" if request.method == "POST": partition_filters = {} for part in table_obj.partition_keys: if request.GET.get(part.name): partition_filters[part.name] = request.GET.get(part.name) partition_spec = ','.join(["%s='%s'" % (k, v) for k, v in partition_filters.items()]) else: partition_spec = '' try: partitions = db.get_partitions(database, table_obj, partition_spec, reverse_sort=reverse_sort) except: LOG.exception('Table partitions could not be retrieved') partitions = [] massaged_partitions = [_massage_partition(database, table_obj, partition) for partition in partitions] if request.method == "POST" or request.GET.get('format', 'html') == 'json': return JsonResponse({ 'partition_keys_json': [partition.name for partition in table_obj.partition_keys], 'partition_values_json': massaged_partitions, }) else: return render("metastore.mako", request, { 'breadcrumbs': [{ 'name': database, 'url': reverse('metastore:show_tables', kwargs={'database': database}) }, { 'name': table, 'url': reverse('metastore:describe_table', kwargs={'database': database, 'table': table}) },{ 'name': 'partitions', 'url': reverse('metastore:describe_partitions', kwargs={'database': database, 'table': table}) }, ], 'database': database, 'table': table_obj, 'partitions': partitions, 'partition_keys_json': json.dumps([partition.name for partition in table_obj.partition_keys]), 'partition_values_json': json.dumps(massaged_partitions), 'request': request, 'has_write_access': has_write_access(request.user), 'is_optimizer_enabled': has_optimizer(), 'is_navigator_enabled': has_navigator(request.user), 'optimizer_url': get_optimizer_url(), 'navigator_url': get_navigator_url(), 'is_embeddable': request.GET.get('is_embeddable', False), 'source_type': _get_servername(db), })
def databases(request): search_filter = request.GET.get('filter', '') db = dbms.get(request.user) databases = db.get_databases(search_filter) return render("metastore.mako", request, { 'breadcrumbs': [], 'database': None, 'databases': databases, 'partitions': [], 'has_write_access': has_write_access(request.user), 'is_optimizer_enabled': has_optimizer(), 'optimizer_url': get_optimizer_url(), 'navigator_url': get_navigator_url(), })
def databases(request): search_filter = request.GET.get('filter', '') db = dbms.get(request.user) databases = db.get_databases(search_filter) return render( "metastore.mako", request, { 'breadcrumbs': [], 'database': None, 'databases': databases, 'partitions': [], 'has_write_access': has_write_access(request.user), 'is_optimizer_enabled': has_optimizer(), 'optimizer_url': get_optimizer_url(), 'navigator_url': get_navigator_url(), })
def databases(request): search_filter = request.GET.get('filter', '') db = _get_db(user=request.user) databases = db.get_databases(search_filter) return render("metastore.mako", request, { 'breadcrumbs': [], 'database': None, 'databases': databases, 'partitions': [], 'has_write_access': has_write_access(request.user), 'is_optimizer_enabled': has_optimizer(), 'is_navigator_enabled': has_navigator(request.user), 'optimizer_url': get_optimizer_url(), 'navigator_url': get_navigator_url(), 'is_embeddable': request.GET.get('is_embeddable', False), 'source_type': _get_servername(db), })
'status': 0, 'database_meta': db.get_database(database), 'tables': tables, 'table_names': table_names, 'search_filter': search_filter }) else: resp = render("metastore.mako", request, { 'breadcrumbs': [], 'database': None, 'partitions': [], 'has_write_access': has_write_access(request.user), 'is_optimizer_enabled': has_optimizer(), 'is_navigator_enabled': has_navigator(request.user), 'optimizer_url': get_optimizer_url(), 'navigator_url': get_navigator_url(), 'is_embeddable': request.REQUEST.get('is_embeddable', False), }) return resp def get_table_metadata(request, database, table): db = dbms.get(request.user) response = {'status': -1, 'data': ''} try: table_metadata = db.get_table(database, table) response['status'] = 0 response['data'] = { 'comment': table_metadata.comment, 'hdfs_link': table_metadata.hdfs_link,
'database_meta': db.get_database(database), 'tables': tables, 'table_names': table_names, 'search_filter': search_filter }) else: resp = render( "metastore.mako", request, { 'breadcrumbs': [], 'database': None, 'partitions': [], 'has_write_access': has_write_access(request.user), 'is_optimizer_enabled': has_optimizer(), 'is_navigator_enabled': has_navigator(request.user), 'optimizer_url': get_optimizer_url(), 'navigator_url': get_navigator_url(), 'is_embeddable': request.REQUEST.get('is_embeddable', False), }) return resp def get_table_metadata(request, database, table): db = dbms.get(request.user) response = {'status': -1, 'data': ''} try: table_metadata = db.get_table(database, table) response['status'] = 0 response['data'] = { 'comment': table_metadata.comment, 'hdfs_link': table_metadata.hdfs_link,