aggregations={"count": doublesum("count")}, dimension=column, metric='count', threshold=1000, ) values = sorted([d[column] for d in top[0]['result']]) return json.dumps(values) @app.errorhandler(500) def show_traceback(self): if config.get("SHOW_STACKTRACE"): error_msg = traceback.format_exc() else: error_msg = "FATAL ERROR\n" error_msg = ( "Stacktrace is hidden. Change the SHOW_STACKTRACE " "configuration setting to enable it") return render_template( 'panoramix/traceback.html', error_msg=error_msg, title=ascii_art.stacktrace, art=ascii_art.error), 500 appbuilder.add_view_no_menu(Panoramix) appbuilder.add_link( "Refresh Druid Metadata", href='/panoramix/refresh_datasources/', category='Sources', category_icon='fa-database', icon="fa-cog")
dimension=column, metric="count", threshold=1000, ) values = sorted([d[column] for d in top[0]["result"]]) return json.dumps(values) @app.errorhandler(500) def show_traceback(self): if config.get("SHOW_STACKTRACE"): error_msg = traceback.format_exc() else: error_msg = "FATAL ERROR\n" error_msg = "Stacktrace is hidden. Change the SHOW_STACKTRACE " "configuration setting to enable it" return ( render_template( "panoramix/traceback.html", error_msg=error_msg, title=ascii_art.stacktrace, art=ascii_art.error ), 500, ) appbuilder.add_view_no_menu(Panoramix) appbuilder.add_link( "Refresh Druid Metadata", href="/panoramix/refresh_datasources/", category="Sources", category_icon="fa-database", icon="fa-cog", )
'column_name', 'type', 'groupby', 'filterable', 'count_distinct', 'sum', 'min', 'max', 'is_dttm' ] page_size = 100 description_columns = { 'is_dttm': ("Whether to make this column available as a " "[Time Granularity] option, column has to be DATETIME or " "DATETIME-like"), } appbuilder.add_view_no_menu(TableColumnInlineView) appbuilder.add_link("Featured Datasets", href='/panoramix/featured_datasets', category='Sources', category_icon='fa-table', icon="fa-star") appbuilder.add_separator("Sources") class ColumnInlineView(CompactCRUDMixin, PanoramixModelView): datamodel = SQLAInterface(models.Column) edit_columns = [ 'column_name', 'description', 'datasource', 'groupby', 'count_distinct', 'sum', 'min', 'max' ] list_columns = [ 'column_name', 'type', 'groupby', 'filterable', 'count_distinct', 'sum', 'min', 'max'
add_columns = edit_columns list_columns = [ 'column_name', 'type', 'groupby', 'filterable', 'count_distinct', 'sum', 'min', 'max', 'is_dttm'] page_size = 500 description_columns = { 'is_dttm': ( "Whether to make this column available as a " "[Time Granularity] option, column has to be DATETIME or " "DATETIME-like"), } appbuilder.add_view_no_menu(TableColumnInlineView) appbuilder.add_link( "Featured Datasets", href='/panoramix/featured', category='Sources', category_icon='fa-table', icon="fa-star") appbuilder.add_separator("Sources") class DruidColumnInlineView(CompactCRUDMixin, PanoramixModelView): datamodel = SQLAInterface(models.DruidColumn) edit_columns = [ 'column_name', 'description', 'datasource', 'groupby', 'count_distinct', 'sum', 'min', 'max'] list_columns = [ 'column_name', 'type', 'groupby', 'filterable', 'count_distinct', 'sum', 'min', 'max'] can_delete = False page_size = 500
cluster.refresh_datasources() cluster.metadata_last_refreshed = datetime.now() flash( "Refreshed metadata from cluster " "[" + cluster.cluster_name + "]", 'info') session.commit() return redirect("/datasourcemodelview/list/") @expose("/autocomplete/<datasource>/<column>/") def autocomplete(self, datasource, column): client = utils.get_pydruid_client() top = client.topn( datasource=datasource, granularity='all', intervals='2013-10-04/2020-10-10', aggregations={"count": doublesum("count")}, dimension=column, metric='count', threshold=1000, ) values = sorted([d[column] for d in top[0]['result']]) return json.dumps(values) appbuilder.add_view_no_menu(Panoramix) appbuilder.add_link("Refresh Druid Metadata", href='/panoramix/refresh_datasources/', category='Sources', category_icon='fa-database', icon="fa-cog")