Exemple #1
0
            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")
Exemple #2
0
            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",
)
Exemple #3
0
        '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'
Exemple #4
0
    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
Exemple #5
0
            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")