Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[druid] Allow custom druid postaggregators #3146

Merged

Conversation

brianwolfe
Copy link
Contributor

Fix the postaggregation for approxHistogram quantiles so it adds
the dependent field and that can show up in the graphs/tables.

In general, postAggregators add significant power, in developing custom
postAggregators, I've run into barriers integrating with Superset. Plywood
and other Druid query planners typically have escape hatches to specify
custom postAggregators without requiring a custom type definition for each
one.

This commit adds a similar capability for Superset and a additional
field/fields/fieldName breakdown of the typical naming for dependent
aggregations, which should make it significantly easier to develop
approxHistogram and custom postAggregation-required dashboards.

This should be able to supercede:
#2345
since it is strictly more general.

This should at least pull in the right dependent metrics and allow some custom aggregations and quantile/histogram links. @mistercrunch

@xrmx
Copy link
Contributor

xrmx commented Jul 17, 2017

Could please fix tests with python2.7 and remove all the other unrelated changes you did in the PR please?

@brianwolfe brianwolfe force-pushed the wolfe--add-postagg-escape-hatch branch from 10b5bfc to 83618a4 Compare July 17, 2017 20:38
@brianwolfe
Copy link
Contributor Author

Not sure what happened with that, it wasn't in my commit history. Fixed via rebase, will fix remaining python2 issues shortly, when I can get duplication on my local machine.

@brianwolfe brianwolfe force-pushed the wolfe--add-postagg-escape-hatch branch from 83618a4 to 63df8b2 Compare July 18, 2017 15:15
@brianwolfe
Copy link
Contributor Author

@xrmx, sorry for the busted PR earlier. This should be good to go (assuming my local testing and Travis agree).

I pulled the helper function out so I could actually unit test the dependent-data extraction/naive query planning. It'll be a significantly larger scope of testing changes if I put that back.

@brianwolfe
Copy link
Contributor Author

Attempting to rerun travis to get coveralls passing.

@brianwolfe brianwolfe closed this Jul 18, 2017
@brianwolfe brianwolfe reopened this Jul 18, 2017
@brianwolfe brianwolfe force-pushed the wolfe--add-postagg-escape-hatch branch from e95c072 to d63c1a9 Compare July 20, 2017 23:40
@brianwolfe
Copy link
Contributor Author

@xrmx or @mistercrunch PTAL This PR has passed Travis https://travis-ci.org/apache/incubator-superset/builds/254976199 (aside from the untouched JS build) and coveralls looks good: https://coveralls.io/builds/12486731

@coveralls
Copy link

coveralls commented Jul 20, 2017

Coverage Status

Coverage increased (+0.3%) to 69.565% when pulling d63c1a965857dc3ddc97e2e266942a40d681feca on brianwolfe:wolfe--add-postagg-escape-hatch into a141695 on apache:master.

Also, fix the postaggregation for approxHistogram quantiles so it adds
the dependent field and that can show up in the graphs/tables.

In general, postAggregators add significant power, we should probably
support including custom postAggregators. Plywood has standard
postAggregators here, and a customAggregator escape hatch that allows
you to define custom postAggregators.

This commit adds a similar capability for Superset and a additional
field/fields/fieldName breakdown of the typical naming for dependent
aggregations, which should make it significantly easier to develop
approxHistogram and custom postAggregation-required dashboards.
@brianwolfe brianwolfe force-pushed the wolfe--add-postagg-escape-hatch branch from d63c1a9 to 96cfbfe Compare July 27, 2017 15:22
@brianwolfe
Copy link
Contributor Author

Resetting travis build again. Hopefully this all passes so that this can be merged in.

@coveralls
Copy link

coveralls commented Jul 27, 2017

Coverage Status

Coverage increased (+0.3%) to 69.695% when pulling 96cfbfe on brianwolfe:wolfe--add-postagg-escape-hatch into fb866a9 on apache:master.

1 similar comment
@coveralls
Copy link

Coverage Status

Coverage increased (+0.3%) to 69.695% when pulling 96cfbfe on brianwolfe:wolfe--add-postagg-escape-hatch into fb866a9 on apache:master.

Copy link
Member

@mistercrunch mistercrunch left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is neat, thanks for the PR!

So can post aggregators build upon other post aggregators? Seems like it's supported here and want to make sure Druid allows for that.

_fields = _conf.get('fields', [])
print(_conf)
_type = _conf.get('type')
_field = _conf.get('field', None)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

, None is implicit, that's the default behavior

post_aggs[metric_name] = Postaggregator(
mconf.get('fn', "/"),
mconf.get('fields', []),
mconf.get('name', ''))
else:
post_aggs[metric_name] = Postaggregator(
None,
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it would help readability to use keyword args here

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fixed by making a CustomPostAggregator class that encompasses this logic. Should make more sense that way.

post_aggs[metric_name].post_aggregator = mconf
return all_metrics, post_aggs

def run_query( # noqa / druid
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not sure why git is getting the diffing all wrong here, things are not lining up. Makes it hard to see what has changed in this section. Maybe moving _metrics_and_post_aggs higher / lower in the class definition might help git diffing it right?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

moved up to other static methods.

None,
mconf.get('name', ''))
post_aggs[metric_name].post_aggregator = mconf
return all_metrics, post_aggs
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm never a big fan of returning tuples but I think it's ok in this case

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yeah, for an internal api, I feel like it's kinda defensible.

'quantile', 'quantiles']:
field_names.append(_conf.get('fieldName', ''))

if _field is not None:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

if _field: is the pythonesque convention

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I suppose. I prefer to be explicit when I care about None vs. when I want to reject all falsy values. https://docs.python.org/2.4/lib/truth.html

I'll change the PR.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

if _field is not None:
field_names += recursive_get_fields(_field)

if _fields is not None:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why not use the same if block as the one right above this one?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

_field vs _fields.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is mostly a matter of supporting a newer and older postAggregators that have different customs for storing the dependent fields.

* break out CustomPostAggregator into separate class. This just cleans
  up the creation of the postaggregator a little bit.
* minor style issues.
* move the function around so the git diff is more readable
@brianwolfe brianwolfe force-pushed the wolfe--add-postagg-escape-hatch branch from d18b063 to 9a52e98 Compare July 28, 2017 04:32
@brianwolfe
Copy link
Contributor Author

@mistercrunch Yes, postAggregators can reference other postAggregators. The dataSketches library is rather incredible if you haven't looked at it before: https://datasketches.github.io/

They combine PostAggregators extensively to compute interesting results.

https://github.com/druid-io/druid/blob/master/extensions-core/datasketches/src/main/java/io/druid/query/aggregation/datasketches/theta/SketchSetPostAggregator.java#L49

Typically they are combined by FieldReference, but not always. In general, we'd probably want a real query planner here, but this allows us to use approxHistograms, dataSketches and other libraries without friction for now.

@coveralls
Copy link

Coverage Status

Coverage increased (+0.3%) to 69.439% when pulling 9a52e98 on brianwolfe:wolfe--add-postagg-escape-hatch into e584a96 on apache:master.

1 similar comment
@coveralls
Copy link

coveralls commented Jul 28, 2017

Coverage Status

Coverage increased (+0.3%) to 69.439% when pulling 9a52e98 on brianwolfe:wolfe--add-postagg-escape-hatch into e584a96 on apache:master.

@coveralls
Copy link

Coverage Status

Coverage increased (+0.3%) to 69.435% when pulling 9a52e98 on brianwolfe:wolfe--add-postagg-escape-hatch into e584a96 on apache:master.

1 similar comment
@coveralls
Copy link

coveralls commented Jul 28, 2017

Coverage Status

Coverage increased (+0.3%) to 69.435% when pulling 9a52e98 on brianwolfe:wolfe--add-postagg-escape-hatch into e584a96 on apache:master.

@mistercrunch
Copy link
Member

This LGTM at this point. We'll need to validate in staging that existing slices that make use of postaggregators still compute well.

@mistercrunch mistercrunch merged commit 1e325d9 into apache:master Jul 28, 2017
lxzhangchao added a commit to lxzhangchao/superset that referenced this pull request Aug 2, 2017
Fixing the damn build (apache#3179)

* Fixing the build

* Going deeper

[bugfix] only filterable columns should show up in FilterBox list (apache#3105)

* [bugfix] only filterable columns should show up in FilterBox list

* Touchups

Datasource cannot be empty (apache#3035)

add title description to model view (apache#3045)

* add title description to model view

* add missing import

Add 'show/hide totals' option to pivot table vis (apache#3101)

[bugfix] numeric value for date fields in table viz (apache#3036)

Bug was present only when using the NOT GROUPED BY option

fixes apache#3027

fix hive.fetch_logs (apache#2968)

add Zalando to the list of organizations (apache#3171)

docs: fixup installation examples code indentation (apache#3169)

[bugfix] fix bar order (apache#3180)

[bugfix] visualize flow error: 'Metric x is not valid' (apache#3181)

The metric name in the frontend doesn't match the one generated on the
backend. It turns out the explore view will default to the first
metric so specifying one isn't needed.

Fix the segment interval for pulling metadata (apache#3174)

The end of the interval would be on the truncated today date, which
means that you will exclude today. If your realtime ingestion job
runs shorter than a day, the metadata cannot be pulled from the
druid cluster.

Bump cryptography to 1.9 (apache#3065)

As 1.7.2 doesn't compile here with openssl 1.1.0f

Escaping the user's SQL in the explore view (apache#3186)

* Escaping the user's SQL in the explore view

When executing SQL from SQL Lab, we use a lower level API to the
database which doesn't require escaping the SQL. When going through
the explore view, the stack chain leading to the same method may need
escaping depending on how the DBAPI driver is written, and that is the
case for Presto (and perhaps other drivers).

* Using regex to avoid doubling doubles

[sqllab] improve Hive support (apache#3187)

* [sqllab] improve Hive support

* Fix "Transport not open" bug
* Getting progress bar to show
* Bump pyhive to 0.4.0
* Getting [Track Job] button to show

* Fix testzz

Add BigQuery engine specifications (apache#3193)

As contributed by @mxmzdlv on issue apache#945

[bugfix] fix merge conflict that broke Hive support (apache#3196)

Adding 'apache' to docs (apache#3194)

[druid] Allow custom druid postaggregators (apache#3146)

* [druid] Allow custom druid postaggregators

Also, fix the postaggregation for approxHistogram quantiles so it adds
the dependent field and that can show up in the graphs/tables.

In general, postAggregators add significant power, we should probably
support including custom postAggregators. Plywood has standard
postAggregators here, and a customAggregator escape hatch that allows
you to define custom postAggregators.

This commit adds a similar capability for Superset and a additional
field/fields/fieldName breakdown of the typical naming for dependent
aggregations, which should make it significantly easier to develop
approxHistogram and custom postAggregation-required dashboards.

* [druid] Minor style cleanup in tests file.

* [druid] Apply code review suggestions

* break out CustomPostAggregator into separate class. This just cleans
  up the creation of the postaggregator a little bit.
* minor style issues.
* move the function around so the git diff is more readable

add combine config for metrics in pivot table (apache#3086)

* add combine config for metrics in pivot table

* change method to stack/unstack

* update backendSync

Autofocus search input in VizTypeControl modal onEnter (apache#2929)

Speed up JS build time (apache#3203)

Also bumping a few related libs

JS Translation

JS translations

js translation

fix issue 3204 (apache#3205)

[bugfix] capture Hive job_id pre-url transformation (apache#3213)

js translation

fix issue 3204 (apache#3205)

[bugfix] capture Hive job_id pre-url transformation (apache#3213)

[docs] update url in CONTRIBUTING.md (apache#3212)

[sqllab/cosmetics] add margin-top for labels in query history (apache#3222)

[explore] nvd3 sort values in rich tooltip (apache#3197)

[sqllab] fix UI shows 'The query returned no results' momentarily (apache#3214)

this is visible when running async queries between the fetching and
success state as the rows are getting cached in the component

[explore] DatasourceControl to pick datasource in modal (apache#3210)

* [explore] DatasourceControl to pick datasource in modal

Makes it easier to change datasource, also makes it such that the list
of all datasources doesn't need to be loaded upfront.

* Adding more metadata
mistercrunch pushed a commit that referenced this pull request Sep 20, 2017
* Chinese page

* Using react-intl-universal to improve multi language in react page

* Using react-intl-universal to improve multi language in react page

* react_intl_universal

* change

* change

* change

* change

* change

* change

* change

* merge

* multiple page in js

* merge

* merge

* merge

* merge

* Js Translations

* JS Translation

* JS Translations

* Js translation

* JS translations

* JS translations

* Js translaion

* JS en Translation

* JS Translation

* upgrade document

Fixing the damn build (#3179)

* Fixing the build

* Going deeper

[bugfix] only filterable columns should show up in FilterBox list (#3105)

* [bugfix] only filterable columns should show up in FilterBox list

* Touchups

Datasource cannot be empty (#3035)

add title description to model view (#3045)

* add title description to model view

* add missing import

Add 'show/hide totals' option to pivot table vis (#3101)

[bugfix] numeric value for date fields in table viz (#3036)

Bug was present only when using the NOT GROUPED BY option

fixes #3027

fix hive.fetch_logs (#2968)

add Zalando to the list of organizations (#3171)

docs: fixup installation examples code indentation (#3169)

[bugfix] fix bar order (#3180)

[bugfix] visualize flow error: 'Metric x is not valid' (#3181)

The metric name in the frontend doesn't match the one generated on the
backend. It turns out the explore view will default to the first
metric so specifying one isn't needed.

Fix the segment interval for pulling metadata (#3174)

The end of the interval would be on the truncated today date, which
means that you will exclude today. If your realtime ingestion job
runs shorter than a day, the metadata cannot be pulled from the
druid cluster.

Bump cryptography to 1.9 (#3065)

As 1.7.2 doesn't compile here with openssl 1.1.0f

Escaping the user's SQL in the explore view (#3186)

* Escaping the user's SQL in the explore view

When executing SQL from SQL Lab, we use a lower level API to the
database which doesn't require escaping the SQL. When going through
the explore view, the stack chain leading to the same method may need
escaping depending on how the DBAPI driver is written, and that is the
case for Presto (and perhaps other drivers).

* Using regex to avoid doubling doubles

[sqllab] improve Hive support (#3187)

* [sqllab] improve Hive support

* Fix "Transport not open" bug
* Getting progress bar to show
* Bump pyhive to 0.4.0
* Getting [Track Job] button to show

* Fix testzz

Add BigQuery engine specifications (#3193)

As contributed by @mxmzdlv on issue #945

[bugfix] fix merge conflict that broke Hive support (#3196)

Adding 'apache' to docs (#3194)

[druid] Allow custom druid postaggregators (#3146)

* [druid] Allow custom druid postaggregators

Also, fix the postaggregation for approxHistogram quantiles so it adds
the dependent field and that can show up in the graphs/tables.

In general, postAggregators add significant power, we should probably
support including custom postAggregators. Plywood has standard
postAggregators here, and a customAggregator escape hatch that allows
you to define custom postAggregators.

This commit adds a similar capability for Superset and a additional
field/fields/fieldName breakdown of the typical naming for dependent
aggregations, which should make it significantly easier to develop
approxHistogram and custom postAggregation-required dashboards.

* [druid] Minor style cleanup in tests file.

* [druid] Apply code review suggestions

* break out CustomPostAggregator into separate class. This just cleans
  up the creation of the postaggregator a little bit.
* minor style issues.
* move the function around so the git diff is more readable

add combine config for metrics in pivot table (#3086)

* add combine config for metrics in pivot table

* change method to stack/unstack

* update backendSync

Autofocus search input in VizTypeControl modal onEnter (#2929)

Speed up JS build time (#3203)

Also bumping a few related libs

JS Translation

JS translations

js translation

fix issue 3204 (#3205)

[bugfix] capture Hive job_id pre-url transformation (#3213)

js translation

fix issue 3204 (#3205)

[bugfix] capture Hive job_id pre-url transformation (#3213)

[docs] update url in CONTRIBUTING.md (#3212)

[sqllab/cosmetics] add margin-top for labels in query history (#3222)

[explore] nvd3 sort values in rich tooltip (#3197)

[sqllab] fix UI shows 'The query returned no results' momentarily (#3214)

this is visible when running async queries between the fetching and
success state as the rows are getting cached in the component

[explore] DatasourceControl to pick datasource in modal (#3210)

* [explore] DatasourceControl to pick datasource in modal

Makes it easier to change datasource, also makes it such that the list
of all datasources doesn't need to be loaded upfront.

* Adding more metadata

* Js translation

* js tran

* js trans

* js trans

* js tran

* js trans

* js trans

* js tran

* js translation

* js trans

* js translation

* try load language pack async

* Backend translations things

* create language pack inside common data

* performance improvement for js i18n.

- js bundle should not contain localized content
- we populate translation content from server-side, in boostrap.common.language_pack
- in client-side, use promise to wrap around translation content. text will be translated after translation content arrived/parsed.
- fix linting

* fix Timer unit test

* 1. add global hook for all tests, to make translation pack avaialble before each test starts.
2. fix unit test for Timer component
3. remove noused method get_locale, and modules
4. fix page reload after user change page language

* parse and build i18n dictionary as a module

* fix sync-backend task, which should run without DOM
timifasubaa pushed a commit to timifasubaa/incubator-superset that referenced this pull request Oct 3, 2017
* Chinese page

* Using react-intl-universal to improve multi language in react page

* Using react-intl-universal to improve multi language in react page

* react_intl_universal

* change

* change

* change

* change

* change

* change

* change

* merge

* multiple page in js

* merge

* merge

* merge

* merge

* Js Translations

* JS Translation

* JS Translations

* Js translation

* JS translations

* JS translations

* Js translaion

* JS en Translation

* JS Translation

* upgrade document

Fixing the damn build (apache#3179)

* Fixing the build

* Going deeper

[bugfix] only filterable columns should show up in FilterBox list (apache#3105)

* [bugfix] only filterable columns should show up in FilterBox list

* Touchups

Datasource cannot be empty (apache#3035)

add title description to model view (apache#3045)

* add title description to model view

* add missing import

Add 'show/hide totals' option to pivot table vis (apache#3101)

[bugfix] numeric value for date fields in table viz (apache#3036)

Bug was present only when using the NOT GROUPED BY option

fixes apache#3027

fix hive.fetch_logs (apache#2968)

add Zalando to the list of organizations (apache#3171)

docs: fixup installation examples code indentation (apache#3169)

[bugfix] fix bar order (apache#3180)

[bugfix] visualize flow error: 'Metric x is not valid' (apache#3181)

The metric name in the frontend doesn't match the one generated on the
backend. It turns out the explore view will default to the first
metric so specifying one isn't needed.

Fix the segment interval for pulling metadata (apache#3174)

The end of the interval would be on the truncated today date, which
means that you will exclude today. If your realtime ingestion job
runs shorter than a day, the metadata cannot be pulled from the
druid cluster.

Bump cryptography to 1.9 (apache#3065)

As 1.7.2 doesn't compile here with openssl 1.1.0f

Escaping the user's SQL in the explore view (apache#3186)

* Escaping the user's SQL in the explore view

When executing SQL from SQL Lab, we use a lower level API to the
database which doesn't require escaping the SQL. When going through
the explore view, the stack chain leading to the same method may need
escaping depending on how the DBAPI driver is written, and that is the
case for Presto (and perhaps other drivers).

* Using regex to avoid doubling doubles

[sqllab] improve Hive support (apache#3187)

* [sqllab] improve Hive support

* Fix "Transport not open" bug
* Getting progress bar to show
* Bump pyhive to 0.4.0
* Getting [Track Job] button to show

* Fix testzz

Add BigQuery engine specifications (apache#3193)

As contributed by @mxmzdlv on issue apache#945

[bugfix] fix merge conflict that broke Hive support (apache#3196)

Adding 'apache' to docs (apache#3194)

[druid] Allow custom druid postaggregators (apache#3146)

* [druid] Allow custom druid postaggregators

Also, fix the postaggregation for approxHistogram quantiles so it adds
the dependent field and that can show up in the graphs/tables.

In general, postAggregators add significant power, we should probably
support including custom postAggregators. Plywood has standard
postAggregators here, and a customAggregator escape hatch that allows
you to define custom postAggregators.

This commit adds a similar capability for Superset and a additional
field/fields/fieldName breakdown of the typical naming for dependent
aggregations, which should make it significantly easier to develop
approxHistogram and custom postAggregation-required dashboards.

* [druid] Minor style cleanup in tests file.

* [druid] Apply code review suggestions

* break out CustomPostAggregator into separate class. This just cleans
  up the creation of the postaggregator a little bit.
* minor style issues.
* move the function around so the git diff is more readable

add combine config for metrics in pivot table (apache#3086)

* add combine config for metrics in pivot table

* change method to stack/unstack

* update backendSync

Autofocus search input in VizTypeControl modal onEnter (apache#2929)

Speed up JS build time (apache#3203)

Also bumping a few related libs

JS Translation

JS translations

js translation

fix issue 3204 (apache#3205)

[bugfix] capture Hive job_id pre-url transformation (apache#3213)

js translation

fix issue 3204 (apache#3205)

[bugfix] capture Hive job_id pre-url transformation (apache#3213)

[docs] update url in CONTRIBUTING.md (apache#3212)

[sqllab/cosmetics] add margin-top for labels in query history (apache#3222)

[explore] nvd3 sort values in rich tooltip (apache#3197)

[sqllab] fix UI shows 'The query returned no results' momentarily (apache#3214)

this is visible when running async queries between the fetching and
success state as the rows are getting cached in the component

[explore] DatasourceControl to pick datasource in modal (apache#3210)

* [explore] DatasourceControl to pick datasource in modal

Makes it easier to change datasource, also makes it such that the list
of all datasources doesn't need to be loaded upfront.

* Adding more metadata

* Js translation

* js tran

* js trans

* js trans

* js tran

* js trans

* js trans

* js tran

* js translation

* js trans

* js translation

* try load language pack async

* Backend translations things

* create language pack inside common data

* performance improvement for js i18n.

- js bundle should not contain localized content
- we populate translation content from server-side, in boostrap.common.language_pack
- in client-side, use promise to wrap around translation content. text will be translated after translation content arrived/parsed.
- fix linting

* fix Timer unit test

* 1. add global hook for all tests, to make translation pack avaialble before each test starts.
2. fix unit test for Timer component
3. remove noused method get_locale, and modules
4. fix page reload after user change page language

* parse and build i18n dictionary as a module

* fix sync-backend task, which should run without DOM
michellethomas pushed a commit to michellethomas/panoramix that referenced this pull request May 24, 2018
* Chinese page

* Using react-intl-universal to improve multi language in react page

* Using react-intl-universal to improve multi language in react page

* react_intl_universal

* change

* change

* change

* change

* change

* change

* change

* merge

* multiple page in js

* merge

* merge

* merge

* merge

* Js Translations

* JS Translation

* JS Translations

* Js translation

* JS translations

* JS translations

* Js translaion

* JS en Translation

* JS Translation

* upgrade document

Fixing the damn build (apache#3179)

* Fixing the build

* Going deeper

[bugfix] only filterable columns should show up in FilterBox list (apache#3105)

* [bugfix] only filterable columns should show up in FilterBox list

* Touchups

Datasource cannot be empty (apache#3035)

add title description to model view (apache#3045)

* add title description to model view

* add missing import

Add 'show/hide totals' option to pivot table vis (apache#3101)

[bugfix] numeric value for date fields in table viz (apache#3036)

Bug was present only when using the NOT GROUPED BY option

fixes apache#3027

fix hive.fetch_logs (apache#2968)

add Zalando to the list of organizations (apache#3171)

docs: fixup installation examples code indentation (apache#3169)

[bugfix] fix bar order (apache#3180)

[bugfix] visualize flow error: 'Metric x is not valid' (apache#3181)

The metric name in the frontend doesn't match the one generated on the
backend. It turns out the explore view will default to the first
metric so specifying one isn't needed.

Fix the segment interval for pulling metadata (apache#3174)

The end of the interval would be on the truncated today date, which
means that you will exclude today. If your realtime ingestion job
runs shorter than a day, the metadata cannot be pulled from the
druid cluster.

Bump cryptography to 1.9 (apache#3065)

As 1.7.2 doesn't compile here with openssl 1.1.0f

Escaping the user's SQL in the explore view (apache#3186)

* Escaping the user's SQL in the explore view

When executing SQL from SQL Lab, we use a lower level API to the
database which doesn't require escaping the SQL. When going through
the explore view, the stack chain leading to the same method may need
escaping depending on how the DBAPI driver is written, and that is the
case for Presto (and perhaps other drivers).

* Using regex to avoid doubling doubles

[sqllab] improve Hive support (apache#3187)

* [sqllab] improve Hive support

* Fix "Transport not open" bug
* Getting progress bar to show
* Bump pyhive to 0.4.0
* Getting [Track Job] button to show

* Fix testzz

Add BigQuery engine specifications (apache#3193)

As contributed by @mxmzdlv on issue apache#945

[bugfix] fix merge conflict that broke Hive support (apache#3196)

Adding 'apache' to docs (apache#3194)

[druid] Allow custom druid postaggregators (apache#3146)

* [druid] Allow custom druid postaggregators

Also, fix the postaggregation for approxHistogram quantiles so it adds
the dependent field and that can show up in the graphs/tables.

In general, postAggregators add significant power, we should probably
support including custom postAggregators. Plywood has standard
postAggregators here, and a customAggregator escape hatch that allows
you to define custom postAggregators.

This commit adds a similar capability for Superset and a additional
field/fields/fieldName breakdown of the typical naming for dependent
aggregations, which should make it significantly easier to develop
approxHistogram and custom postAggregation-required dashboards.

* [druid] Minor style cleanup in tests file.

* [druid] Apply code review suggestions

* break out CustomPostAggregator into separate class. This just cleans
  up the creation of the postaggregator a little bit.
* minor style issues.
* move the function around so the git diff is more readable

add combine config for metrics in pivot table (apache#3086)

* add combine config for metrics in pivot table

* change method to stack/unstack

* update backendSync

Autofocus search input in VizTypeControl modal onEnter (apache#2929)

Speed up JS build time (apache#3203)

Also bumping a few related libs

JS Translation

JS translations

js translation

fix issue 3204 (apache#3205)

[bugfix] capture Hive job_id pre-url transformation (apache#3213)

js translation

fix issue 3204 (apache#3205)

[bugfix] capture Hive job_id pre-url transformation (apache#3213)

[docs] update url in CONTRIBUTING.md (apache#3212)

[sqllab/cosmetics] add margin-top for labels in query history (apache#3222)

[explore] nvd3 sort values in rich tooltip (apache#3197)

[sqllab] fix UI shows 'The query returned no results' momentarily (apache#3214)

this is visible when running async queries between the fetching and
success state as the rows are getting cached in the component

[explore] DatasourceControl to pick datasource in modal (apache#3210)

* [explore] DatasourceControl to pick datasource in modal

Makes it easier to change datasource, also makes it such that the list
of all datasources doesn't need to be loaded upfront.

* Adding more metadata

* Js translation

* js tran

* js trans

* js trans

* js tran

* js trans

* js trans

* js tran

* js translation

* js trans

* js translation

* try load language pack async

* Backend translations things

* create language pack inside common data

* performance improvement for js i18n.

- js bundle should not contain localized content
- we populate translation content from server-side, in boostrap.common.language_pack
- in client-side, use promise to wrap around translation content. text will be translated after translation content arrived/parsed.
- fix linting

* fix Timer unit test

* 1. add global hook for all tests, to make translation pack avaialble before each test starts.
2. fix unit test for Timer component
3. remove noused method get_locale, and modules
4. fix page reload after user change page language

* parse and build i18n dictionary as a module

* fix sync-backend task, which should run without DOM
@mistercrunch mistercrunch added 🏷️ bot A label used by `supersetbot` to keep track of which PR where auto-tagged with release labels 🚢 0.19.0 labels Feb 27, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🏷️ bot A label used by `supersetbot` to keep track of which PR where auto-tagged with release labels 🚢 0.19.0
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants