text:
[SPARK-5894][ML] Add polynomial mapper

See SPARK-5894.

Test build #29351 has started for   PR 5245 at commit 6fa236f.

This patch merges cleanly.

Test build #29351 has finished for   PR 5245 at commit 6fa236f.

This patch passes all tests.

This patch merges cleanly.

This patch adds the following public classes (experimental):

class PolynomialMapper extends UnaryTransformer[Vector, Vector, PolynomialMapper]

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/29351/
Test PASSed.

Test build #29401 has started for   PR 5245 at commit b70e7e1.

Test build #29401 has finished for   PR 5245 at commit b70e7e1.

This patch passes all tests.

This patch merges cleanly.

This patch adds the following public classes (experimental):

class PolynomialMapper extends UnaryTransformer[Vector, Vector, PolynomialMapper]

This patch does not change any dependencies.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/29401/
Test PASSed.

Test build #30008 has started for   PR 5245 at commit 8d39674.

Test build #30008 has finished for   PR 5245 at commit 8d39674.

This patch passes all tests.

This patch merges cleanly.

This patch adds the following public classes (experimental):

class PolynomialMapper extends UnaryTransformer[Vector, Vector, PolynomialMapper]

This patch does not change any dependencies.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/30008/
Test PASSed.

Test build #30155 has started for   PR 5245 at commit 95d8fb9.

Test build #30155 has finished for   PR 5245 at commit 95d8fb9.

This patch passes all tests.

This patch merges cleanly.

This patch adds the following public classes (experimental):

class PolynomialMapper extends UnaryTransformer[Vector, Vector, PolynomialMapper]

This patch does not change any dependencies.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/30155/
Test PASSed.

Test build #30760 has started for   PR 5245 at commit 4e9aed0.

@mengxr As we discussed, I fix test suite and left other pieces untouched. I will refine all of them after you verify the correctness.

Test build #30760 has finished for   PR 5245 at commit 4e9aed0.

This patch fails to build.

This patch merges cleanly.

This patch adds the following public classes (experimental):

class PolynomialMapper extends UnaryTransformer[Vector, Vector, PolynomialMapper]

This patch does not change any dependencies.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/30760/
Test FAILed.

@yinxusen Send you a PR at https://github.com/yinxusen/spark/pull/3, which implements another approach. Please let me know how you think.

Test build #30826 has started for   PR 5245 at commit 57bfdd5.

Test build #30826 has finished for   PR 5245 at commit 57bfdd5.

This patch fails to build.

This patch merges cleanly.

This patch adds the following public classes (experimental):

class PolynomialMapper extends UnaryTransformer[Vector, Vector, PolynomialMapper]

abstract class NumericType extends NativeType

This patch does not change any dependencies.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/30826/
Test FAILed.

Test build #30829 has started for   PR 5245 at commit dc461a6.

@mengxr I merge your modifications. I think it has several benefits:

More elegant and readable;
Much faster since we can avoid one choose function call in each iteration.

Also, the class name changed to PolynomialExpansion.

Test build #30829 has finished for   PR 5245 at commit dc461a6.

This patch passes all tests.

This patch merges cleanly.

This patch adds the following public classes (experimental):

class PolynomialExpansion extends UnaryTransformer[Vector, Vector, PolynomialExpansion]

This patch does not change any dependencies.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/30829/
Test PASSed.

@yinxusen I'm not sure whether it is faster or not. That's why I put the new approach side by side. Please help test the performance. Thanks!

@mengxr I wrote a test just now, see here. I will test it ASAP.

@mengxr I do some tests on these two versions, here is the result log: (You can see my code here.)
sbt "mllib/run-main org.apache.spark.ml.feature.PolynomialMapper" 2>&1>test.log

[info] Testing number of data 1024
[info] 	Testing dataset degree: 2	mapper: PolynomialMapper-V1	name: denseData
[info] 		Elapsed time: 48.591317ms
[info] 	Testing dataset degree: 2	mapper: PolynomialMapper-V1	name: sparseData
[info] 		Elapsed time: 43.113877ms
[info] 	Testing dataset degree: 2	mapper: PolynomialMapper-V2	name: denseData
[info] 		Elapsed time: 38.518744ms
[info] 	Testing dataset degree: 2	mapper: PolynomialMapper-V2	name: sparseData
[info] 		Elapsed time: 36.946037ms
[info] 	Testing dataset degree: 3	mapper: PolynomialMapper-V1	name: denseData
[info] 		Elapsed time: 34.615637ms
[info] 	Testing dataset degree: 3	mapper: PolynomialMapper-V1	name: sparseData
[info] 		Elapsed time: 39.327571ms
[info] 	Testing dataset degree: 3	mapper: PolynomialMapper-V2	name: denseData
[info] 		Elapsed time: 35.640954ms
[info] 	Testing dataset degree: 3	mapper: PolynomialMapper-V2	name: sparseData
[info]         	Elapsed time: 38.740797ms
[info] 	Testing dataset degree: 5	mapper: PolynomialMapper-V1	name: denseData
[info] 		Elapsed time: 37.757011ms
[info] 	Testing dataset degree: 5	mapper: PolynomialMapper-V1	name: sparseData
[info] 		Elapsed time: 39.291329ms
[info] 	Testing dataset degree: 5	mapper: PolynomialMapper-V2	name: denseData
[info] 		Elapsed time: 34.665687ms
[info] 	Testing dataset degree: 5	mapper: PolynomialMapper-V2	name: sparseData
[info] 		Elapsed time: 37.758357ms
[info] 	Testing dataset degree: 10	mapper: PolynomialMapper-V1	name: denseData
[info] 		Elapsed time: 33.307436ms
[info] 	Testing dataset degree: 10	mapper: PolynomialMapper-V1	name: sparseData
[info] 		Elapsed time: 37.231837ms
[info] 	Testing dataset degree: 10	mapper: PolynomialMapper-V2	name: denseData
[info] 		Elapsed time: 34.794309ms
[info] 	Testing dataset degree: 10	mapper: PolynomialMapper-V2	name: sparseData
[info] 		Elapsed time: 37.112773ms

[info] Testing number of data 10240
[info] 	Testing dataset degree: 2	mapper: PolynomialMapper-V1	name: denseData
[info] 		Elapsed time: 76.447725ms
[info] 	Testing dataset degree: 2	mapper: PolynomialMapper-V1	name: sparseData
[info] 		Elapsed time: 98.351862ms
[info] 	Testing dataset degree: 2	mapper: PolynomialMapper-V2	name: denseData
[info] 		Elapsed time: 76.17611ms
[info] 	Testing dataset degree: 2	mapper: PolynomialMapper-V2	name: sparseData
[info] 		Elapsed time: 99.099883ms
[info] 	Testing dataset degree: 3	mapper: PolynomialMapper-V1	name: denseData
[info] 		Elapsed time: 76.661511ms
[info] 	Testing dataset degree: 3	mapper: PolynomialMapper-V1	name: sparseData
[info] 		Elapsed time: 99.442798ms
[info] 	Testing dataset degree: 3	mapper: PolynomialMapper-V2	name: denseData
[info] 		Elapsed time: 76.607076ms
[info] 	Testing dataset degree: 3	mapper: PolynomialMapper-V2	name: sparseData
[info] 		Elapsed time: 99.722276ms
[info] 	Testing dataset degree: 5	mapper: PolynomialMapper-V1	name: denseData
[info] 		Elapsed time: 76.337466ms
[info] 	Testing dataset degree: 5	mapper: PolynomialMapper-V1	name: sparseData
[info] 		Elapsed time: 99.550001ms
[info] 	Testing dataset degree: 5	mapper: PolynomialMapper-V2	name: denseData
[info] 		Elapsed time: 76.633637ms
[info] 	Testing dataset degree: 5	mapper: PolynomialMapper-V2	name: sparseData
[info] 		Elapsed time: 98.995122ms
[info] 	Testing dataset degree: 10	mapper: PolynomialMapper-V1	name: denseData
[info] 		Elapsed time: 77.281723ms
[info] 	Testing dataset degree: 10	mapper: PolynomialMapper-V1	name: sparseData
[info] 		Elapsed time: 100.623104ms
[info] 	Testing dataset degree: 10	mapper: PolynomialMapper-V2	name: denseData
[info] 		Elapsed time: 76.444839ms
[info] 	Testing dataset degree: 10	mapper: PolynomialMapper-V2	name: sparseData
[info] 		Elapsed time: 99.626543ms

[info] Testing number of data 102400
[info] 	Testing dataset degree: 2	mapper: PolynomialMapper-V1	name: denseData
[info] 		Elapsed time: 459.402129ms
[info] 	Testing dataset degree: 2	mapper: PolynomialMapper-V1	name: sparseData
[info] 		Elapsed time: 744.510455ms
[info] 	Testing dataset degree: 2	mapper: PolynomialMapper-V2	name: denseData
[info] 		Elapsed time: 462.813174ms
[info] 	Testing dataset degree: 2	mapper: PolynomialMapper-V2	name: sparseData
[info] 		Elapsed time: 745.74096ms
[info] 	Testing dataset degree: 3	mapper: PolynomialMapper-V1	name: denseData
[info] 		Elapsed time: 465.842966ms
[info] 	Testing dataset degree: 3	mapper: PolynomialMapper-V1	name: sparseData
[info] 		Elapsed time: 740.870635ms
[info] 	Testing dataset degree: 3	mapper: PolynomialMapper-V2	name: denseData
[info] 		Elapsed time: 456.569887ms
[info] 	Testing dataset degree: 3	mapper: PolynomialMapper-V2	name: sparseData
[info] 		Elapsed time: 740.952329ms
[info] 	Testing dataset degree: 5	mapper: PolynomialMapper-V1	name: denseData
[info] 		Elapsed time: 461.351083ms
[info] 	Testing dataset degree: 5	mapper: PolynomialMapper-V1	name: sparseData
[info] 		Elapsed time: 747.656513ms
[info] 	Testing dataset degree: 5	mapper: PolynomialMapper-V2	name: denseData
[info] 		Elapsed time: 461.394609ms
[info] 	Testing dataset degree: 5	mapper: PolynomialMapper-V2	name: sparseData
[info] 		Elapsed time: 736.373809ms
[info] 	Testing dataset degree: 10	mapper: PolynomialMapper-V1	name: denseData
[info] 		Elapsed time: 459.730604ms
[info] 	Testing dataset degree: 10	mapper: PolynomialMapper-V1	name: sparseData
[info] 		Elapsed time: 738.605976ms
[info] 	Testing dataset degree: 10	mapper: PolynomialMapper-V2	name: denseData
[info] 		Elapsed time: 461.859974ms
[info] 	Testing dataset degree: 10	mapper: PolynomialMapper-V2	name: sparseData
[info] 		Elapsed time: 744.532121ms

We can see that the two methods have similar performances.

Thanks for testing! LGTM and I've merged this into master. I will send a follow-up PR to remove 1 from output.

authors: AmplabJenkins SparkQA mengxr yinxusen


text:
[SPARK-7205] [SPARK-7224] [SPARK-7306] Backport packages fixes

Main motivation is to fix the flaky SparkSubmitUtilsSuite in branch-1.3.
@brkyvz

Merged build triggered.

Merged build started.

Test build #34221 has started for   PR 6657 at commit f4f7fa8.

This patch merges cleanly.

Actually I'm going to merge this because it already passed SparkSubmitUtilsSuite. Hopefully after this patch we won't be seeing failures in that suite on Jenkins.

Test build #34221 has finished for   PR 6657 at commit f4f7fa8.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

source: gharchive/pull-request

authors: AmplabJenkins SparkQA andrewor14

repo: apache/spark

license_type: permissive

license_source: github-api


text:
SUBMARINE-638. [Spark-Security]Apply global/local limit after masking projection

What is this PR for?
This PR optimises the limit query when masking policies are applied in the spark-security plugin. This is applying the global limit on top masking projection if there is a limit in the initial plan
What type of PR is it?
[Improvement]
Todos

[ ] - Task

What is the Jira issue?
https://issues.apache.org/jira/browse/SUBMARINE-638
How should this be tested?
https://travis-ci.org/github/harsha-tenneti/submarine/builds/754430620
Screenshots (if appropriate)
Questions:

Does the licenses files need update? No
Is there breaking changes for older versions? No
Does this needs documentation? No

@yaooqinn can you please help look at this PR

@yaooqinn can you please help look at this PR

also cc @xunliu @jiwq

also cc @xunliu @jiwq

LGTM

LGTM

thanks~ merged to master

thanks~ merged to master

authors: harsha-tenneti yaooqinn

repo: apache/submarine


text:
Support input validators in dashboard native filter

We use Superset in the context of Security information and event management (SIEM). Our data often include IP values which users want to filter by adhoc IP ranges (using CIDR notation).
For example when the user inputs a filter value of 192.168.0.0/24 this filter is converted into a range query on the server side. We leverage superset's SQL_QUERY_MUTATOR to convert the IP range filter from an SQL statement like
WHERE IP IN '192.168.0.0/24'
to
((IP >= 3232235520) AND (IP<= 3232235775))
The IP column is number for performance reasons.
This works quite well however there is no validation of the text provided by the user. Ideally we would like to validate the input in the client a bit like is done in the explorer UI.
It's possible to validate inputs in the chart explore UI since the viz populates the control panel and is free to customize the input control. However there is no way to specify a validator in the dashboard native filter.
There could be a registry of validator functions that the dashboard native filter would allow you to choose from when creating native filters.
Is this a feature being developed? Are there alternatives?

@cccs-jc sorry, I need more context to understand the use case. could you share video or gif to demonstrate your work flow?

Use Case
We use Superset as a Security information and event management (SIEM). Network security logs are frequently used in our analysis.
Users search security logs using IP values (e.g.: 192.168.0.7) or for entire networks using CIDR notation (e.g.: 192.168.0.0/24). The CIDR is a well know networking concept expressing a range of IPs 192.168.0.0 to 192.168.0.255 in this case.
Users search for an IP on a particular column.
https://user-images.githubusercontent.com/56140112/110991620-dd5ef480-8342-11eb-88bc-cca8aaf01047.mp4
Users search for a range of IPs on a particular column.
https://user-images.githubusercontent.com/56140112/110991763-0bdccf80-8343-11eb-9526-8d968554afa1.mp4
Users search for IP or range of IPs on either the source or destination columns.
https://user-images.githubusercontent.com/56140112/110991799-14350a80-8343-11eb-89e2-913fab7b8fe8.mp4
For performance reasons our IP values are physically stored as INTEGER in RDBMS. This is what a typical network IP flow table might look like

However, users think of IPs in terms dot notation or CIDR notation, not in terms of numbers. We thus provide a conversion mechanism to hide this implementation detail from our users. Results are thus presented to the user in tables like this one.

How we achieve this with Superset
Rendering
In superset we’ve modelled the flow table by typing the IP_SRC and IP_DST columns as IPV4. We use this typing information when rendering the values on the client side (in our custom visualization). Our rendering also generates a hyperlink to a page giving further information about the given IP.
Query Mutator
We leverage superset's SQL_QUERY_MUTATOR to convert the IP strings provided by the user into the corresponding number value for the RDBMS.
A query criterion of SRC_IP = ‘2.2.2.2’ is mutated into SRC_IP = 33686018
To query both SRC_IP or DST_IP we have introduced a “filter column” named IP. This column does not exist in the RDBMS. It’s only used as a filter (like Looker’s bind_filters feature https://docs.looker.com/reference/view-params/explore_source).
A query criterion of IP IN '2.2.2.2' is mutated to (  ("SRC_IP" = 33686018) OR  ("DST_IP" = 33686018) )
Superset Model
We use the column data type to render IPV4 columns in dot notation.

We mark the IP (filter column) as not a dimension. Because the IP column is not a dimension it is not available option in the “COLUMNS” box of the Chart explorer. This is good because it’s not actually a column it’s just a filter.

However, the IP filter column is available in the ad-hoc filter. Which is great.

The SQL_QUERY_MUTATOR not only converts IP strings to numbers but can also handle more complex scenarios like querying on either the SRC_IP or DST_IP columns.
For example, given the configuration above, superset would produce this query
FROM FLOW WHERE IP IN '2.2.2.2'
Which our SQL_QUERY_MUTATOR transforms into
FROM FLOW WHERE (  ("SRC_IP" = 33686018) OR  ("DST_IP" = 33686018) )
Before it is sent to the RDBMS.
On the client side we have a custom visualization which renders columns of type IPV4 in dot notation and generates hyperlinks.

IP Filter integration in a Dashboard
The IP filter column works the same inside Dashboards. Since IP is a column it can be used in a filter box or in the new native filter support. The IP filter column can also handle CIDR notation (IP range query).

FROM FLOW
WHERE IP IN '2.2.2.0/24'
Is mutated into a range query on either SRC_IP or DST_IP columns
FROM FLOW
WHERE
(  ("SRC_IP" >= 33686016 AND "SRC_IP" <= 33686271) OR
("DST_IP" >= 33686016 AND "DST_IP" <= 33686271)  )
Gaps and improvements
Our current implementation is working well but the user experience needs some improvement.
Inconsistent SQL operators
The IP filter column is really a filtering function. It accepts one or more IPs and generates a query which applies a filter on either SRC_IP or DST_IP columns. Only the “IN” and “=” operator really make sense for the IP filter column. However, there is no means to control which operators to show the user.

The same argument can be made for port number. String operators “LIKE”, “IS NOT NULL”, “IS NULL” are not applicable for the port number column.

It would be desirable for the ad-hoc filter UI and for the dashboard filters to only present to the user the applicable operators. The dataset model could be extended to support a list of applicable operators per column.
No input validation
We would like to be able to validate the values entered for the IP filter. It should be of the form 0.0.0.0 or 0.0.0.0/32.

There are validators in superset to validate numerical and empty values. It would be great if we could create new ones for IPv4, IPv6 etc. Examples in other business lines might be credit card number, social insurance number, validating wildcard search expressions etc.
The same argument applies to the port number column. It should only be possible to enter a number value and in this specific case a value between 0 and 65536 (2^32).
The dataset model could be extended to support a list of applicable input validators for a given column.
The ad-hoc filter UI and the dashboard filters could use this information and apply the appropriate validation based on the chosen column.

@junlincc as you see above being able to validate inputs and configure available operators on a column/filter basis would be greatly beneficial. Any recommendations, are there any efforts towards these features. Do you have any questions?

Hi @cccs-jc thank you for providing such detailed description of your cases. I agree this is currently a limitation, but more as an edge case. We probably can include the enhancement in 2022 roadmap when we refractor and redesign the ad hoc filter component.  I will revisit this issue next month and let you know. If you already have a solution, feel free to open a PR. we will make sure it gets reviewed. 🙏

I would like to make progress on this earlier than 2022. My team and I are willing to contribute to Superset however we need guidance on how best to provide hooks into Superset for customization. We don't want to hack support for our features directly into the code. But given proper hooks we can implement our features ourselves. @villebro has offered to help us create a custom filter for the dashboard. Hopefully we could apply some of that knowledge to the adhoc filter. In fact since this post we were able to modify the adhoc filter to validate inputs but only for our own visualization. Ideally we would like to be able to override the validation of the adhoc filter globally.

@villebro let's allocate half a day to enable @cccs-jc 's team in Q2. Thanks for expressing the interest in contributing high quality code to Superset 🙏

There's some work going on. We've tied this in with a notion of custom business types (SIP to come). We're working in a fork to prototype some stuff right now. But we're eager to get at least a first iteration of this into superset behind a feature flag.

@cccs-rc, any news on this?

@cccs-rc, any news on this?

The SIP for Advanced Types has passed. The PR is here but not yet approved/merged.
This won't add validation specifically to dashboard native filters, but it will allow you to add some validation for advanced types in the Explore view. If/how to extend this to dashboard native filters is on our list of things for future work.

This one sounds safe to close, and is more feature request than bug report anyway, so I'll close it. Please re-open or start a fresh Issue/PR if needed.

source: gharchive/issue

authors: cccs-jc cccs-rc jhult junlincc rusackas

repo: apache/superset


text:
Unable to install superset on ppc64le

Trying to install superset (https://superset.apache.org/docs/installation/installing-superset-from-scratch) fails with the following errors, indicating a build error with pyarrow:
How to reproduce the bug

pip3 install apache-superset
Install missing dependencies like rustc
See error:

-- Could NOT find Arrow (missing: Arrow_DIR)
      -- Checking for module 'arrow'
      --   No package 'arrow' found
      CMake Error at /usr/share/cmake-3.18/Modules/FindPackageHandleStandardArgs.cmake:165 (message):
        Could NOT find Arrow (missing: ARROW_INCLUDE_DIR ARROW_LIB_DIR
        ARROW_FULL_SO_VERSION ARROW_SO_VERSION)
      Call Stack (most recent call first):
        /usr/share/cmake-3.18/Modules/FindPackageHandleStandardArgs.cmake:458 (_FPHSA_FAILURE_MESSAGE)
        cmake_modules/FindArrow.cmake:419 (find_package_handle_standard_args)
        cmake_modules/FindArrowPython.cmake:46 (find_package)
        CMakeLists.txt:218 (find_package)

Expected results
Installed apache superset
Actual results
Failed to build pyarrow, error installing apache superset
Environment

browser type and version: -
superset version: 1.4.0
python version: Python 3.9.2
node.js version: -
any feature flags active: -

Checklist

[x] I have checked the superset logs for python stacktraces and included it here as text if there are any.
[x] I have reproduced the issue with at least the latest released version of superset.
[x] I have checked the issue tracker for the same issue and I have found one similar: #8688

Additional context
Collecting apache-superset
  Using cached apache-superset-1.4.0.tar.gz (32.9 MB)
  Preparing metadata (setup.py) ... done
Collecting PyJWT<2,>=1.7.1
  Using cached PyJWT-1.7.1-py2.py3-none-any.whl (18 kB)
Collecting backoff>=1.8.0
  Using cached backoff-1.11.1-py2.py3-none-any.whl (13 kB)
Collecting bleach<4.0.0,>=3.0.2
  Using cached bleach-3.3.1-py2.py3-none-any.whl (146 kB)
Collecting cachelib<0.2,>=0.1.1
  Using cached cachelib-0.1.1-py3-none-any.whl (13 kB)
Collecting celery!=4.4.1,<5.0.0,>=4.3.0
  Using cached celery-4.4.7-py2.py3-none-any.whl (427 kB)
Collecting click<8
  Using cached click-7.1.2-py2.py3-none-any.whl (82 kB)
Collecting colorama
  Using cached colorama-0.4.4-py2.py3-none-any.whl (16 kB)
Collecting cron-descriptor
  Using cached cron_descriptor-1.2.24.tar.gz (22 kB)
  Preparing metadata (setup.py) ... done
Collecting croniter>=0.3.28
  Using cached croniter-1.2.0-py2.py3-none-any.whl (17 kB)
Collecting cryptography>=3.3.2
  Using cached cryptography-36.0.1-cp39-cp39-linux_ppc64le.whl
Collecting deprecation<2.2.0,>=2.1.0
  Using cached deprecation-2.1.0-py2.py3-none-any.whl (11 kB)
Collecting flask-appbuilder<4.0.0,>=3.4.3
  Using cached Flask_AppBuilder-3.4.4-py3-none-any.whl (1.9 MB)
Collecting flask-caching>=1.10.0
  Using cached Flask_Caching-1.10.1-py3-none-any.whl (34 kB)
Collecting flask-compress
  Using cached Flask_Compress-1.10.1-py3-none-any.whl (7.9 kB)
Collecting flask-migrate
  Using cached Flask_Migrate-3.1.0-py3-none-any.whl (20 kB)
Collecting flask-talisman
  Using cached flask_talisman-0.8.1-py2.py3-none-any.whl (18 kB)
Collecting flask-wtf
  Using cached Flask_WTF-1.0.0-py3-none-any.whl (12 kB)
Collecting flask<2.0.0,>=1.1.0
  Using cached Flask-1.1.4-py2.py3-none-any.whl (94 kB)
Collecting geopy
  Using cached geopy-2.2.0-py3-none-any.whl (118 kB)
Collecting graphlib-backport
  Using cached graphlib_backport-1.0.3-py3-none-any.whl (5.1 kB)
Collecting gunicorn>=20.1.0
  Using cached gunicorn-20.1.0-py3-none-any.whl (79 kB)
Collecting holidays==0.10.3
  Using cached holidays-0.10.3.tar.gz (114 kB)
  Preparing metadata (setup.py) ... done
Collecting humanize
  Using cached humanize-3.14.0-py3-none-any.whl (98 kB)
Collecting isodate
  Using cached isodate-0.6.1-py2.py3-none-any.whl (41 kB)
Collecting itsdangerous<2.0.0,>=1.0.0
  Using cached itsdangerous-1.1.0-py2.py3-none-any.whl (16 kB)
Collecting markdown>=3.0
  Using cached Markdown-3.3.6-py3-none-any.whl (97 kB)
Collecting msgpack<1.1,>=1.0.0
  Using cached msgpack-1.0.3.tar.gz (123 kB)
  Preparing metadata (setup.py) ... done
Collecting pandas<1.3,>=1.2.2
  Using cached pandas-1.2.5-cp39-cp39-linux_ppc64le.whl
Collecting parsedatetime
  Using cached parsedatetime-2.6-py3-none-any.whl (42 kB)
Collecting pgsanity
  Using cached pgsanity-0.2.9.tar.gz (7.5 kB)
  Preparing metadata (setup.py) ... done
Collecting polyline
  Using cached polyline-1.4.0-py2.py3-none-any.whl (4.4 kB)
Collecting pyarrow<4.1,>=4.0.1
  Using cached pyarrow-4.0.1.tar.gz (711 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Collecting pyparsing<3.0.0,>=2.4.7
  Using cached pyparsing-2.4.7-py2.py3-none-any.whl (67 kB)
Requirement already satisfied: python-dateutil in ./venv/lib/python3.9/site-packages (from apache-superset) (2.8.2)
Collecting python-dotenv
  Using cached python_dotenv-0.19.2-py2.py3-none-any.whl (17 kB)
Collecting python-geohash
  Using cached python-geohash-0.8.5.tar.gz (17 kB)
  Preparing metadata (setup.py) ... done
Collecting pyyaml>=5.4
  Using cached PyYAML-6.0-cp39-cp39-linux_ppc64le.whl
Collecting redis
  Using cached redis-4.1.2-py3-none-any.whl (173 kB)
Collecting requests==2.26.0
  Using cached requests-2.26.0-py2.py3-none-any.whl (62 kB)
Collecting selenium>=3.141.0
  Using cached selenium-4.1.0-py3-none-any.whl (958 kB)
Collecting simplejson>=3.15.0
  Using cached simplejson-3.17.6.tar.gz (83 kB)
  Preparing metadata (setup.py) ... done
Collecting slackclient==2.5.0
  Using cached slackclient-2.5.0-py2.py3-none-any.whl (54 kB)
Collecting sqlalchemy!=1.3.21,<1.4,>=1.3.16
  Using cached SQLAlchemy-1.3.24.tar.gz (6.4 MB)
  Preparing metadata (setup.py) ... done
Collecting sqlalchemy-utils<0.38,>=0.37.8
  Using cached SQLAlchemy_Utils-0.37.9-py3-none-any.whl (100 kB)
Collecting sqlparse==0.3.0
  Using cached sqlparse-0.3.0-py2.py3-none-any.whl (39 kB)
Collecting tabulate==0.8.9
  Using cached tabulate-0.8.9-py3-none-any.whl (25 kB)
Collecting typing-extensions<4,>=3.10
  Using cached typing_extensions-3.10.0.2-py3-none-any.whl (26 kB)
Collecting wtforms-json
  Using cached WTForms-JSON-0.3.3.tar.gz (11 kB)
  Preparing metadata (setup.py) ... done
Collecting convertdate
  Using cached convertdate-2.4.0-py3-none-any.whl (47 kB)
Collecting korean_lunar_calendar
  Using cached korean_lunar_calendar-0.2.1-py3-none-any.whl (8.0 kB)
Requirement already satisfied: six in ./venv/lib/python3.9/site-packages (from holidays==0.10.3->apache-superset) (1.16.0)
Collecting idna<4,>=2.5
  Using cached idna-3.3-py3-none-any.whl (61 kB)
Collecting urllib3<1.27,>=1.21.1
  Using cached urllib3-1.26.8-py2.py3-none-any.whl (138 kB)
Collecting certifi>=2017.4.17
  Using cached certifi-2021.10.8-py2.py3-none-any.whl (149 kB)
Collecting charset-normalizer~=2.0.0
  Using cached charset_normalizer-2.0.11-py3-none-any.whl (39 kB)
Collecting aiohttp>3.5.2
  Using cached aiohttp-3.8.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (1.2 MB)
Collecting webencodings
  Using cached webencodings-0.5.1-py2.py3-none-any.whl (11 kB)
Collecting packaging
  Using cached packaging-21.3-py3-none-any.whl (40 kB)
Collecting vine==1.3.0
  Using cached vine-1.3.0-py2.py3-none-any.whl (14 kB)
Collecting billiard<4.0,>=3.6.3.0
  Using cached billiard-3.6.4.0-py3-none-any.whl (89 kB)
Collecting pytz>dev
  Using cached pytz-2021.3-py2.py3-none-any.whl (503 kB)
Collecting kombu<4.7,>=4.6.10
  Using cached kombu-4.6.11-py2.py3-none-any.whl (184 kB)
Collecting cffi>=1.12
  Using cached cffi-1.15.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (465 kB)
Collecting Werkzeug<2.0,>=0.15
  Using cached Werkzeug-1.0.1-py2.py3-none-any.whl (298 kB)
Collecting Jinja2<3.0,>=2.10.1
  Using cached Jinja2-2.11.3-py2.py3-none-any.whl (125 kB)
Collecting flask-wtf
  Using cached Flask_WTF-0.14.3-py2.py3-none-any.whl (13 kB)
Collecting marshmallow-sqlalchemy<0.27.0,>=0.22.0
  Using cached marshmallow_sqlalchemy-0.26.1-py2.py3-none-any.whl (15 kB)
Collecting Flask-JWT-Extended<4,>=3.18
  Using cached Flask-JWT-Extended-3.25.1.tar.gz (32 kB)
  Preparing metadata (setup.py) ... done
Collecting apispec[yaml]<4,>=3.3
  Using cached apispec-3.3.2-py2.py3-none-any.whl (27 kB)
Collecting Flask-Login<0.5,>=0.3
  Using cached Flask-Login-0.4.1.tar.gz (14 kB)
  Preparing metadata (setup.py) ... done
Collecting email-validator<2,>=1.0.5
  Using cached email_validator-1.1.3-py2.py3-none-any.whl (18 kB)
Collecting jsonschema<5,>=3
  Using cached jsonschema-4.4.0-py3-none-any.whl (72 kB)
Collecting Flask-SQLAlchemy<3,>=2.4
  Using cached Flask_SQLAlchemy-2.5.1-py2.py3-none-any.whl (17 kB)
Collecting marshmallow-enum<2,>=1.5.1
  Using cached marshmallow_enum-1.5.1-py2.py3-none-any.whl (4.2 kB)
Collecting prison<1.0.0,>=0.2.1
  Using cached prison-0.2.1-py2.py3-none-any.whl (5.8 kB)
Collecting marshmallow<4,>=3
  Using cached marshmallow-3.14.1-py3-none-any.whl (47 kB)
Collecting Flask-OpenID<2,>=1.2.5
  Using cached Flask_OpenID-1.3.0-py3-none-any.whl (9.3 kB)
Collecting WTForms<3.0.0
  Using cached WTForms-2.3.3-py2.py3-none-any.whl (169 kB)
Collecting Flask-Babel<3,>=1
  Using cached Flask_Babel-2.0.0-py3-none-any.whl (9.3 kB)
Requirement already satisfied: setuptools>=3.0 in ./venv/lib/python3.9/site-packages (from gunicorn>=20.1.0->apache-superset) (44.1.1)
Collecting importlib-metadata>=4.4
  Using cached importlib_metadata-4.10.1-py3-none-any.whl (17 kB)
Collecting numpy>=1.16.5
  Using cached numpy-1.22.1-cp39-cp39-linux_ppc64le.whl
Collecting trio~=0.17
  Using cached trio-0.19.0-py3-none-any.whl (356 kB)
Collecting trio-websocket~=0.9
  Using cached trio_websocket-0.9.2-py3-none-any.whl (16 kB)
Collecting brotli
  Using cached Brotli-1.0.9.zip (510 kB)
  Preparing metadata (setup.py) ... done
Collecting alembic>=0.7
  Using cached alembic-1.7.5-py3-none-any.whl (209 kB)
Collecting geographiclib<2,>=1.49
  Using cached geographiclib-1.52-py3-none-any.whl (38 kB)
Collecting deprecated>=1.2.3
  Using cached Deprecated-1.2.13-py2.py3-none-any.whl (9.6 kB)
Collecting yarl<2.0,>=1.0
  Using cached yarl-1.7.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (330 kB)
Collecting async-timeout<5.0,>=4.0.0a3
  Using cached async_timeout-4.0.2-py3-none-any.whl (5.8 kB)
Collecting aiosignal>=1.1.2
  Using cached aiosignal-1.2.0-py3-none-any.whl (8.2 kB)
Collecting multidict<7.0,>=4.5
  Using cached multidict-6.0.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (121 kB)
Collecting frozenlist>=1.1.1
  Using cached frozenlist-1.3.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (163 kB)
Collecting attrs>=17.3.0
  Using cached attrs-21.4.0-py2.py3-none-any.whl (60 kB)
Collecting Mako
  Using cached Mako-1.1.6-py2.py3-none-any.whl (75 kB)
Collecting pycparser
  Using cached pycparser-2.21-py2.py3-none-any.whl (118 kB)
Collecting wrapt<2,>=1.10
  Using cached wrapt-1.13.3.tar.gz (48 kB)
  Preparing metadata (setup.py) ... done
Collecting dnspython>=1.15.0
  Using cached dnspython-2.2.0-py3-none-any.whl (266 kB)
Collecting Babel>=2.3
  Using cached Babel-2.9.1-py2.py3-none-any.whl (8.8 MB)
Collecting python3-openid>=2.0
  Using cached python3_openid-3.2.0-py3-none-any.whl (133 kB)
Collecting zipp>=0.5
  Using cached zipp-3.7.0-py3-none-any.whl (5.3 kB)
Collecting MarkupSafe>=0.23
  Using cached MarkupSafe-2.0.1.tar.gz (18 kB)
  Preparing metadata (setup.py) ... done
Collecting pyrsistent!=0.17.0,!=0.17.1,!=0.17.2,>=0.14.0
  Using cached pyrsistent-0.18.1-cp39-cp39-linux_ppc64le.whl
Collecting amqp<2.7,>=2.6.0
  Using cached amqp-2.6.1-py2.py3-none-any.whl (48 kB)
Collecting sortedcontainers
  Using cached sortedcontainers-2.4.0-py2.py3-none-any.whl (29 kB)
Collecting async-generator>=1.9
  Using cached async_generator-1.10-py3-none-any.whl (18 kB)
Collecting outcome
  Using cached outcome-1.1.0-py2.py3-none-any.whl (9.7 kB)
Collecting sniffio
  Using cached sniffio-1.2.0-py3-none-any.whl (10 kB)
Collecting wsproto>=0.14
  Using cached wsproto-1.0.0-py3-none-any.whl (24 kB)
Collecting pyOpenSSL>=0.14
  Using cached pyOpenSSL-22.0.0-py2.py3-none-any.whl (55 kB)
Collecting pymeeus<=1,>=0.3.13
  Using cached PyMeeus-0.5.11.tar.gz (5.4 MB)
  Preparing metadata (setup.py) ... done
Collecting defusedxml
  Using cached defusedxml-0.7.1-py2.py3-none-any.whl (25 kB)
Collecting h11<1,>=0.9.0
  Using cached h11-0.13.0-py3-none-any.whl (58 kB)
Building wheels for collected packages: apache-superset, holidays, msgpack, pyarrow, simplejson, sqlalchemy, cron-descriptor, pgsanity, python-geohash, wtforms-json, Flask-JWT-Extended, Flask-Login, brotli, MarkupSafe, pymeeus, wrapt
  Building wheel for apache-superset (setup.py) ... done
  Created wheel for apache-superset: filename=apache_superset-1.4.0-py3-none-any.whl size=33847789 sha256=4df836e7a842c995bf6acc0eca948b47787f58f7d72345101f42bd1e0b3ceb37
  Stored in directory: /path/abc/.cache/pip/wheels/8b/4a/9b/3e561ce0ba37b2de083ab07619ec9bf26462c5f4246f327b25
  Building wheel for holidays (setup.py) ... done
  Created wheel for holidays: filename=holidays-0.10.3-py3-none-any.whl size=115853 sha256=905eaa1de5fcd2440d58c769125e5a8735b9af9e7913b282ab1c5454623951f4
  Stored in directory: /path/abc/.cache/pip/wheels/90/74/7d/7c969133a4597e0a11496ec8aacc385778490b614465cb3404
  Building wheel for msgpack (setup.py) ... done
  Created wheel for msgpack: filename=msgpack-1.0.3-cp39-cp39-linux_ppc64le.whl size=302518 sha256=94c3fafe4446df2c8bbd30fe8088048af4abf79ec854b83d07842e1ed00fd491
  Stored in directory: /path/abc/.cache/pip/wheels/4d/a1/f8/5c0e1e277305cf63ca39b0ffee58ba988b689272a093d36cc1
  Building wheel for pyarrow (pyproject.toml) ... error
  error: subprocess-exited-with-error

  × Building wheel for pyarrow (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [231 lines of output]
      running bdist_wheel
      running build
      running build_py
      creating build
      creating build/lib.linux-ppc64le-3.9
      creating build/lib.linux-ppc64le-3.9/pyarrow
      copying pyarrow/cffi.py -> build/lib.linux-ppc64le-3.9/pyarrow
      copying pyarrow/csv.py -> build/lib.linux-ppc64le-3.9/pyarrow
      copying pyarrow/flight.py -> build/lib.linux-ppc64le-3.9/pyarrow
      copying pyarrow/compat.py -> build/lib.linux-ppc64le-3.9/pyarrow
      copying pyarrow/plasma.py -> build/lib.linux-ppc64le-3.9/pyarrow
      copying pyarrow/compute.py -> build/lib.linux-ppc64le-3.9/pyarrow
      copying pyarrow/benchmark.py -> build/lib.linux-ppc64le-3.9/pyarrow
      copying pyarrow/parquet.py -> build/lib.linux-ppc64le-3.9/pyarrow
      copying pyarrow/types.py -> build/lib.linux-ppc64le-3.9/pyarrow
      copying pyarrow/orc.py -> build/lib.linux-ppc64le-3.9/pyarrow
      copying pyarrow/filesystem.py -> build/lib.linux-ppc64le-3.9/pyarrow
      copying pyarrow/jvm.py -> build/lib.linux-ppc64le-3.9/pyarrow
      copying pyarrow/pandas_compat.py -> build/lib.linux-ppc64le-3.9/pyarrow
      copying pyarrow/hdfs.py -> build/lib.linux-ppc64le-3.9/pyarrow
      copying pyarrow/dataset.py -> build/lib.linux-ppc64le-3.9/pyarrow
      copying pyarrow/__init__.py -> build/lib.linux-ppc64le-3.9/pyarrow
      copying pyarrow/_generated_version.py -> build/lib.linux-ppc64le-3.9/pyarrow
      copying pyarrow/util.py -> build/lib.linux-ppc64le-3.9/pyarrow
      copying pyarrow/ipc.py -> build/lib.linux-ppc64le-3.9/pyarrow
      copying pyarrow/fs.py -> build/lib.linux-ppc64le-3.9/pyarrow
      copying pyarrow/cuda.py -> build/lib.linux-ppc64le-3.9/pyarrow
      copying pyarrow/serialization.py -> build/lib.linux-ppc64le-3.9/pyarrow
      copying pyarrow/json.py -> build/lib.linux-ppc64le-3.9/pyarrow
      copying pyarrow/feather.py -> build/lib.linux-ppc64le-3.9/pyarrow
      creating build/lib.linux-ppc64le-3.9/pyarrow/tests
      copying pyarrow/tests/test_dataset.py -> build/lib.linux-ppc64le-3.9/pyarrow/tests
      copying pyarrow/tests/deserialize_buffer.py -> build/lib.linux-ppc64le-3.9/pyarrow/tests
      copying pyarrow/tests/test_gandiva.py -> build/lib.linux-ppc64le-3.9/pyarrow/tests
      copying pyarrow/tests/test_array.py -> build/lib.linux-ppc64le-3.9/pyarrow/tests
      copying pyarrow/tests/test_types.py -> build/lib.linux-ppc64le-3.9/pyarrow/tests
      copying pyarrow/tests/test_flight.py -> build/lib.linux-ppc64le-3.9/pyarrow/tests
      copying pyarrow/tests/test_deprecations.py -> build/lib.linux-ppc64le-3.9/pyarrow/tests
      copying pyarrow/tests/test_schema.py -> build/lib.linux-ppc64le-3.9/pyarrow/tests
      copying pyarrow/tests/test_memory.py -> build/lib.linux-ppc64le-3.9/pyarrow/tests
      copying pyarrow/tests/test_io.py -> build/lib.linux-ppc64le-3.9/pyarrow/tests
      copying pyarrow/tests/test_csv.py -> build/lib.linux-ppc64le-3.9/pyarrow/tests
      copying pyarrow/tests/test_plasma_tf_op.py -> build/lib.linux-ppc64le-3.9/pyarrow/tests
      copying pyarrow/tests/pandas_examples.py -> build/lib.linux-ppc64le-3.9/pyarrow/tests
      copying pyarrow/tests/test_pandas.py -> build/lib.linux-ppc64le-3.9/pyarrow/tests
      copying pyarrow/tests/test_extension_type.py -> build/lib.linux-ppc64le-3.9/pyarrow/tests
      copying pyarrow/tests/test_ipc.py -> build/lib.linux-ppc64le-3.9/pyarrow/tests
      copying pyarrow/tests/test_tensor.py -> build/lib.linux-ppc64le-3.9/pyarrow/tests
      copying pyarrow/tests/test_cuda_numba_interop.py -> build/lib.linux-ppc64le-3.9/pyarrow/tests
      copying pyarrow/tests/test_plasma.py -> build/lib.linux-ppc64le-3.9/pyarrow/tests
      copying pyarrow/tests/test_serialization_deprecated.py -> build/lib.linux-ppc64le-3.9/pyarrow/tests
      copying pyarrow/tests/test_misc.py -> build/lib.linux-ppc64le-3.9/pyarrow/tests
      copying pyarrow/tests/test_sparse_tensor.py -> build/lib.linux-ppc64le-3.9/pyarrow/tests
      copying pyarrow/tests/strategies.py -> build/lib.linux-ppc64le-3.9/pyarrow/tests
      copying pyarrow/tests/test_fs.py -> build/lib.linux-ppc64le-3.9/pyarrow/tests
      copying pyarrow/tests/test_filesystem.py -> build/lib.linux-ppc64le-3.9/pyarrow/tests
      copying pyarrow/tests/pandas_threaded_import.py -> build/lib.linux-ppc64le-3.9/pyarrow/tests
      copying pyarrow/tests/test_builder.py -> build/lib.linux-ppc64le-3.9/pyarrow/tests
      copying pyarrow/tests/test_cuda.py -> build/lib.linux-ppc64le-3.9/pyarrow/tests
      copying pyarrow/tests/test_hdfs.py -> build/lib.linux-ppc64le-3.9/pyarrow/tests
      copying pyarrow/tests/test_compute.py -> build/lib.linux-ppc64le-3.9/pyarrow/tests
      copying pyarrow/tests/__init__.py -> build/lib.linux-ppc64le-3.9/pyarrow/tests
      copying pyarrow/tests/test_cython.py -> build/lib.linux-ppc64le-3.9/pyarrow/tests
      copying pyarrow/tests/test_scalars.py -> build/lib.linux-ppc64le-3.9/pyarrow/tests
      copying pyarrow/tests/test_orc.py -> build/lib.linux-ppc64le-3.9/pyarrow/tests
      copying pyarrow/tests/util.py -> build/lib.linux-ppc64le-3.9/pyarrow/tests
      copying pyarrow/tests/test_serialization.py -> build/lib.linux-ppc64le-3.9/pyarrow/tests
      copying pyarrow/tests/test_table.py -> build/lib.linux-ppc64le-3.9/pyarrow/tests
      copying pyarrow/tests/test_convert_builtin.py -> build/lib.linux-ppc64le-3.9/pyarrow/tests
      copying pyarrow/tests/conftest.py -> build/lib.linux-ppc64le-3.9/pyarrow/tests
      copying pyarrow/tests/test_cffi.py -> build/lib.linux-ppc64le-3.9/pyarrow/tests
      copying pyarrow/tests/test_adhoc_memory_leak.py -> build/lib.linux-ppc64le-3.9/pyarrow/tests
      copying pyarrow/tests/test_feather.py -> build/lib.linux-ppc64le-3.9/pyarrow/tests
      copying pyarrow/tests/arrow_7980.py -> build/lib.linux-ppc64le-3.9/pyarrow/tests
      copying pyarrow/tests/test_strategies.py -> build/lib.linux-ppc64le-3.9/pyarrow/tests
      copying pyarrow/tests/test_json.py -> build/lib.linux-ppc64le-3.9/pyarrow/tests
      copying pyarrow/tests/test_jvm.py -> build/lib.linux-ppc64le-3.9/pyarrow/tests
      running egg_info
      listing git files failed - pretending there aren't any
      warning: no files found matching '../LICENSE.txt'
      warning: no files found matching '../NOTICE.txt'
      warning: no previously-included files matching '*.so' found anywhere in distribution
      warning: no previously-included files matching '*.pyc' found anywhere in distribution
      warning: no previously-included files matching '*~' found anywhere in distribution
      warning: no previously-included files matching '#*' found anywhere in distribution
      warning: no previously-included files matching '.git*' found anywhere in distribution
      warning: no previously-included files matching '.DS_Store' found anywhere in distribution
      no previously-included directories found matching '.asv'
      writing manifest file 'pyarrow.egg-info/SOURCES.txt'
      copying pyarrow/__init__.pxd -> build/lib.linux-ppc64le-3.9/pyarrow
      copying pyarrow/_compute.pxd -> build/lib.linux-ppc64le-3.9/pyarrow
      copying pyarrow/_compute.pyx -> build/lib.linux-ppc64le-3.9/pyarrow
      copying pyarrow/_csv.pxd -> build/lib.linux-ppc64le-3.9/pyarrow
      copying pyarrow/_csv.pyx -> build/lib.linux-ppc64le-3.9/pyarrow
      copying pyarrow/_cuda.pxd -> build/lib.linux-ppc64le-3.9/pyarrow
      copying pyarrow/_cuda.pyx -> build/lib.linux-ppc64le-3.9/pyarrow
      copying pyarrow/_dataset.pyx -> build/lib.linux-ppc64le-3.9/pyarrow
      copying pyarrow/_flight.pyx -> build/lib.linux-ppc64le-3.9/pyarrow
      copying pyarrow/_fs.pxd -> build/lib.linux-ppc64le-3.9/pyarrow
      copying pyarrow/_fs.pyx -> build/lib.linux-ppc64le-3.9/pyarrow
      copying pyarrow/_hdfs.pyx -> build/lib.linux-ppc64le-3.9/pyarrow
      copying pyarrow/_json.pyx -> build/lib.linux-ppc64le-3.9/pyarrow
      copying pyarrow/_orc.pxd -> build/lib.linux-ppc64le-3.9/pyarrow
      copying pyarrow/_orc.pyx -> build/lib.linux-ppc64le-3.9/pyarrow
      copying pyarrow/_parquet.pxd -> build/lib.linux-ppc64le-3.9/pyarrow
      copying pyarrow/_parquet.pyx -> build/lib.linux-ppc64le-3.9/pyarrow
      copying pyarrow/_plasma.pyx -> build/lib.linux-ppc64le-3.9/pyarrow
      copying pyarrow/_s3fs.pyx -> build/lib.linux-ppc64le-3.9/pyarrow
      copying pyarrow/array.pxi -> build/lib.linux-ppc64le-3.9/pyarrow
      copying pyarrow/benchmark.pxi -> build/lib.linux-ppc64le-3.9/pyarrow
      copying pyarrow/builder.pxi -> build/lib.linux-ppc64le-3.9/pyarrow
      copying pyarrow/compat.pxi -> build/lib.linux-ppc64le-3.9/pyarrow
      copying pyarrow/config.pxi -> build/lib.linux-ppc64le-3.9/pyarrow
      copying pyarrow/error.pxi -> build/lib.linux-ppc64le-3.9/pyarrow
      copying pyarrow/feather.pxi -> build/lib.linux-ppc64le-3.9/pyarrow
      copying pyarrow/gandiva.pyx -> build/lib.linux-ppc64le-3.9/pyarrow
      copying pyarrow/io-hdfs.pxi -> build/lib.linux-ppc64le-3.9/pyarrow
      copying pyarrow/io.pxi -> build/lib.linux-ppc64le-3.9/pyarrow
      copying pyarrow/ipc.pxi -> build/lib.linux-ppc64le-3.9/pyarrow
      copying pyarrow/lib.pxd -> build/lib.linux-ppc64le-3.9/pyarrow
      copying pyarrow/lib.pyx -> build/lib.linux-ppc64le-3.9/pyarrow
      copying pyarrow/memory.pxi -> build/lib.linux-ppc64le-3.9/pyarrow
      copying pyarrow/pandas-shim.pxi -> build/lib.linux-ppc64le-3.9/pyarrow
      copying pyarrow/public-api.pxi -> build/lib.linux-ppc64le-3.9/pyarrow
      copying pyarrow/scalar.pxi -> build/lib.linux-ppc64le-3.9/pyarrow
      copying pyarrow/serialization.pxi -> build/lib.linux-ppc64le-3.9/pyarrow
      copying pyarrow/table.pxi -> build/lib.linux-ppc64le-3.9/pyarrow
      copying pyarrow/tensor.pxi -> build/lib.linux-ppc64le-3.9/pyarrow
      copying pyarrow/types.pxi -> build/lib.linux-ppc64le-3.9/pyarrow
      creating build/lib.linux-ppc64le-3.9/pyarrow/includes
      copying pyarrow/includes/__init__.pxd -> build/lib.linux-ppc64le-3.9/pyarrow/includes
      copying pyarrow/includes/common.pxd -> build/lib.linux-ppc64le-3.9/pyarrow/includes
      copying pyarrow/includes/libarrow.pxd -> build/lib.linux-ppc64le-3.9/pyarrow/includes
      copying pyarrow/includes/libarrow_cuda.pxd -> build/lib.linux-ppc64le-3.9/pyarrow/includes
      copying pyarrow/includes/libarrow_dataset.pxd -> build/lib.linux-ppc64le-3.9/pyarrow/includes
      copying pyarrow/includes/libarrow_flight.pxd -> build/lib.linux-ppc64le-3.9/pyarrow/includes
      copying pyarrow/includes/libarrow_fs.pxd -> build/lib.linux-ppc64le-3.9/pyarrow/includes
      copying pyarrow/includes/libgandiva.pxd -> build/lib.linux-ppc64le-3.9/pyarrow/includes
      copying pyarrow/includes/libplasma.pxd -> build/lib.linux-ppc64le-3.9/pyarrow/includes
      creating build/lib.linux-ppc64le-3.9/pyarrow/tensorflow
      copying pyarrow/tensorflow/plasma_op.cc -> build/lib.linux-ppc64le-3.9/pyarrow/tensorflow
      creating build/lib.linux-ppc64le-3.9/pyarrow/vendored
      copying pyarrow/vendored/__init__.py -> build/lib.linux-ppc64le-3.9/pyarrow/vendored
      copying pyarrow/vendored/version.py -> build/lib.linux-ppc64le-3.9/pyarrow/vendored
      copying pyarrow/tests/pyarrow_cython_example.pyx -> build/lib.linux-ppc64le-3.9/pyarrow/tests
      creating build/lib.linux-ppc64le-3.9/pyarrow/tests/data
      creating build/lib.linux-ppc64le-3.9/pyarrow/tests/data/feather
      copying pyarrow/tests/data/feather/v0.17.0.version=2-compression=lz4.feather -> build/lib.linux-ppc64le-3.9/pyarrow/tests/data/feather
      creating build/lib.linux-ppc64le-3.9/pyarrow/tests/data/orc
      copying pyarrow/tests/data/orc/README.md -> build/lib.linux-ppc64le-3.9/pyarrow/tests/data/orc
      copying pyarrow/tests/data/orc/TestOrcFile.emptyFile.jsn.gz -> build/lib.linux-ppc64le-3.9/pyarrow/tests/data/orc
      copying pyarrow/tests/data/orc/TestOrcFile.emptyFile.orc -> build/lib.linux-ppc64le-3.9/pyarrow/tests/data/orc
      copying pyarrow/tests/data/orc/TestOrcFile.test1.jsn.gz -> build/lib.linux-ppc64le-3.9/pyarrow/tests/data/orc
      copying pyarrow/tests/data/orc/TestOrcFile.test1.orc -> build/lib.linux-ppc64le-3.9/pyarrow/tests/data/orc
      copying pyarrow/tests/data/orc/TestOrcFile.testDate1900.jsn.gz -> build/lib.linux-ppc64le-3.9/pyarrow/tests/data/orc
      copying pyarrow/tests/data/orc/TestOrcFile.testDate1900.orc -> build/lib.linux-ppc64le-3.9/pyarrow/tests/data/orc
      copying pyarrow/tests/data/orc/decimal.jsn.gz -> build/lib.linux-ppc64le-3.9/pyarrow/tests/data/orc
      copying pyarrow/tests/data/orc/decimal.orc -> build/lib.linux-ppc64le-3.9/pyarrow/tests/data/orc
      creating build/lib.linux-ppc64le-3.9/pyarrow/tests/data/parquet
      copying pyarrow/tests/data/parquet/v0.7.1.all-named-index.parquet -> build/lib.linux-ppc64le-3.9/pyarrow/tests/data/parquet
      copying pyarrow/tests/data/parquet/v0.7.1.column-metadata-handling.parquet -> build/lib.linux-ppc64le-3.9/pyarrow/tests/data/parquet
      copying pyarrow/tests/data/parquet/v0.7.1.parquet -> build/lib.linux-ppc64le-3.9/pyarrow/tests/data/parquet
      copying pyarrow/tests/data/parquet/v0.7.1.some-named-index.parquet -> build/lib.linux-ppc64le-3.9/pyarrow/tests/data/parquet
      creating build/lib.linux-ppc64le-3.9/pyarrow/tests/parquet
      copying pyarrow/tests/parquet/common.py -> build/lib.linux-ppc64le-3.9/pyarrow/tests/parquet
      copying pyarrow/tests/parquet/conftest.py -> build/lib.linux-ppc64le-3.9/pyarrow/tests/parquet
      copying pyarrow/tests/parquet/test_basic.py -> build/lib.linux-ppc64le-3.9/pyarrow/tests/parquet
      copying pyarrow/tests/parquet/test_compliant_nested_type.py -> build/lib.linux-ppc64le-3.9/pyarrow/tests/parquet
      copying pyarrow/tests/parquet/test_data_types.py -> build/lib.linux-ppc64le-3.9/pyarrow/tests/parquet
      copying pyarrow/tests/parquet/test_dataset.py -> build/lib.linux-ppc64le-3.9/pyarrow/tests/parquet
      copying pyarrow/tests/parquet/test_datetime.py -> build/lib.linux-ppc64le-3.9/pyarrow/tests/parquet
      copying pyarrow/tests/parquet/test_metadata.py -> build/lib.linux-ppc64le-3.9/pyarrow/tests/parquet
      copying pyarrow/tests/parquet/test_pandas.py -> build/lib.linux-ppc64le-3.9/pyarrow/tests/parquet
      copying pyarrow/tests/parquet/test_parquet_file.py -> build/lib.linux-ppc64le-3.9/pyarrow/tests/parquet
      copying pyarrow/tests/parquet/test_parquet_writer.py -> build/lib.linux-ppc64le-3.9/pyarrow/tests/parquet
      running build_ext
      creating /tmp/user/1000/pip-install-9n7xw0m8/pyarrow_002a74e354d44a00bb1f1b4e4620d460/build/temp.linux-ppc64le-3.9
      -- Running cmake for pyarrow
      cmake -DPYTHON_EXECUTABLE=/path/abc/venv/bin/python3 -DPython3_EXECUTABLE=/path/abc/venv/bin/python3 "" -DPYARROW_BUILD_CUDA=off -DPYARROW_BUILD_FLIGHT=off -DPYARROW_BUILD_GANDIVA=off -DPYARROW_BUILD_DATASET=off -DPYARROW_BUILD_ORC=off -DPYARROW_BUILD_PARQUET=off -DPYARROW_BUILD_PLASMA=off -DPYARROW_BUILD_S3=off -DPYARROW_BUILD_HDFS=off -DPYARROW_USE_TENSORFLOW=off -DPYARROW_BUNDLE_ARROW_CPP=off -DPYARROW_BUNDLE_BOOST=off -DPYARROW_GENERATE_COVERAGE=off -DPYARROW_BOOST_USE_SHARED=on -DPYARROW_PARQUET_USE_SHARED=on -DCMAKE_BUILD_TYPE=release /tmp/user/1000/pip-install-9n7xw0m8/pyarrow_002a74e354d44a00bb1f1b4e4620d460
      -- The C compiler identification is GNU 10.2.1
      -- The CXX compiler identification is GNU 10.2.1
      -- Detecting C compiler ABI info
      -- Detecting C compiler ABI info - done
      -- Check for working C compiler: /usr/bin/cc - skipped
      -- Detecting C compile features
      -- Detecting C compile features - done
      -- Detecting CXX compiler ABI info
      -- Detecting CXX compiler ABI info - done
      -- Check for working CXX compiler: /usr/bin/c++ - skipped
      -- Detecting CXX compile features
      -- Detecting CXX compile features - done
      -- System processor: ppc64le
      -- Performing Test CXX_SUPPORTS_ALTIVEC
      -- Performing Test CXX_SUPPORTS_ALTIVEC - Success
      -- Arrow build warning level: PRODUCTION
      Using ld linker
      Configured for RELEASE build (set with cmake -DCMAKE_BUILD_TYPE={release,debug,...})
      -- Build Type: RELEASE
      -- Generator: Unix Makefiles
      -- Build output directory: /tmp/user/1000/pip-install-9n7xw0m8/pyarrow_002a74e354d44a00bb1f1b4e4620d460/build/temp.linux-ppc64le-3.9/release
      -- Found Python3: /path/abc/venv/bin/python3 (found version "3.9.2") found components: Interpreter Development.Module NumPy
      -- Found Python3Alt: /path/abc/venv/bin/python3
      CMake Warning (dev) at /usr/share/cmake-3.18/Modules/FindPackageHandleStandardArgs.cmake:273 (message):
        The package name passed to `find_package_handle_standard_args` (PkgConfig)
        does not match the name of the calling package (Arrow).  This can lead to
        problems in calling code that expects `find_package` result variables
        (e.g., `_FOUND`) to follow a certain pattern.
      Call Stack (most recent call first):
        /usr/share/cmake-3.18/Modules/FindPkgConfig.cmake:59 (find_package_handle_standard_args)
        cmake_modules/FindArrow.cmake:39 (include)
        cmake_modules/FindArrowPython.cmake:46 (find_package)
        CMakeLists.txt:218 (find_package)
      This warning is for project developers.  Use -Wno-dev to suppress it.

      -- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.2")
      -- Could NOT find Arrow (missing: Arrow_DIR)
      -- Checking for module 'arrow'
      --   No package 'arrow' found
      CMake Error at /usr/share/cmake-3.18/Modules/FindPackageHandleStandardArgs.cmake:165 (message):
        Could NOT find Arrow (missing: ARROW_INCLUDE_DIR ARROW_LIB_DIR
        ARROW_FULL_SO_VERSION ARROW_SO_VERSION)
      Call Stack (most recent call first):
        /usr/share/cmake-3.18/Modules/FindPackageHandleStandardArgs.cmake:458 (_FPHSA_FAILURE_MESSAGE)
        cmake_modules/FindArrow.cmake:419 (find_package_handle_standard_args)
        cmake_modules/FindArrowPython.cmake:46 (find_package)
        CMakeLists.txt:218 (find_package)

      -- Configuring incomplete, errors occurred!
      See also "/tmp/user/1000/pip-install-9n7xw0m8/pyarrow_002a74e354d44a00bb1f1b4e4620d460/build/temp.linux-ppc64le-3.9/CMakeFiles/CMakeOutput.log".
      error: command '/usr/bin/cmake' failed with exit code 1
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for pyarrow
  Building wheel for simplejson (setup.py) ... done
  Created wheel for simplejson: filename=simplejson-3.17.6-cp39-cp39-linux_ppc64le.whl size=129588 sha256=64045ed77ffbcf6c34c333cd0a68b885b13a13150ab09ad247917cab89a0e8e6
  Stored in directory: /path/abc/.cache/pip/wheels/0e/d0/0d/478f289794fbd5b0f6ea528d427941e1d8e65cb2358f7031a4
  Building wheel for sqlalchemy (setup.py) ... done
  Created wheel for sqlalchemy: filename=SQLAlchemy-1.3.24-cp39-cp39-linux_ppc64le.whl size=1256422 sha256=98bc3e56c2d1fe7ed52b09b28cf370b0baaab4ed6479359bd7fcdf5a02543e3e
  Stored in directory: /path/abc/.cache/pip/wheels/17/80/a4/49869e85becd4c05a166bd07dbfc983ed5d51b36dedf07d783
  Building wheel for cron-descriptor (setup.py) ... done
  Created wheel for cron-descriptor: filename=cron_descriptor-1.2.24-py3-none-any.whl size=37774 sha256=a7cbe203be63ed63cb8feda98d04f888bf5e4ef41139379341d8e5a7812e95cb
  Stored in directory: /path/abc/.cache/pip/wheels/0d/d1/e7/4442702da1320037576d20456a6adb7abb2acf2eeb7f9f075d
  Building wheel for pgsanity (setup.py) ... done
  Created wheel for pgsanity: filename=pgsanity-0.2.9-py3-none-any.whl size=5626 sha256=6f3df9be5a9f4491bcc7667ac0d11e7122e3acaa265864d630617ab3b4a753e9
  Stored in directory: /path/abc/.cache/pip/wheels/09/54/81/e4e07e89838fbe148c0759fc62aca697d89d0317c3cb7a4462
  Building wheel for python-geohash (setup.py) ... done
  Created wheel for python-geohash: filename=python_geohash-0.8.5-cp39-cp39-linux_ppc64le.whl size=46464 sha256=2e5f427c73f299d5849ed812223db8776d93765f5e674404c88c2a0b60bf6603
  Stored in directory: /path/abc/.cache/pip/wheels/71/30/cd/0b5a80443cd2621f619cd5725e758eeeb0160c6210f2a74527
  Building wheel for wtforms-json (setup.py) ... done
  Created wheel for wtforms-json: filename=WTForms_JSON-0.3.3-py3-none-any.whl size=4731 sha256=5b0f18be5b5c328cf2654b4ed2b1780561ef1f8d2e1c6f72d3ea1a300410f9cb
  Stored in directory: /path/abc/.cache/pip/wheels/e9/9c/d6/e38a31b1920c9160ac721b206f6941702b865f4193d7991aaa
  Building wheel for Flask-JWT-Extended (setup.py) ... done
  Created wheel for Flask-JWT-Extended: filename=Flask_JWT_Extended-3.25.1-py2.py3-none-any.whl size=21599 sha256=c40d8d5331f97c02e0ad8a01d98027ae324cea34068a26da8c4d754773eba117
  Stored in directory: /path/abc/.cache/pip/wheels/89/29/80/cacbcaec7c90fb2c53b5b385a3bbef89de3df159f097b26012
  Building wheel for Flask-Login (setup.py) ... done
  Created wheel for Flask-Login: filename=Flask_Login-0.4.1-py2.py3-none-any.whl size=15936 sha256=7e077d74701028d478260674c522aa18e1ef1975ceec0c85fc851a0de4ce31e7
  Stored in directory: /path/abc/.cache/pip/wheels/0a/95/f9/1b9375cf1e05631591d41a65a730b7ec1f8e05af6db29bb271
  Building wheel for brotli (setup.py) ... done
  Created wheel for brotli: filename=Brotli-1.0.9-cp39-cp39-linux_ppc64le.whl size=2623796 sha256=e37745446784f76c4932bb30754457242dc12ba9790eea5a83b3cad692eb8042
  Stored in directory: /path/abc/.cache/pip/wheels/fc/64/ad/723809ab7a5b321a3e5997a75e00f388547f49f73b3192a32a
  Building wheel for MarkupSafe (setup.py) ... done
  Created wheel for MarkupSafe: filename=MarkupSafe-2.0.1-cp39-cp39-linux_ppc64le.whl size=27825 sha256=7c60a39323da51878a75e355fafd881b8787baeb44fa67f0ac3ed9adafbabdff
  Stored in directory: /path/abc/.cache/pip/wheels/9f/6d/c8/1f59b07cf85ae842908006ec28f4477f7e4578df72c3eb0e46
  Building wheel for pymeeus (setup.py) ... done
  Created wheel for pymeeus: filename=PyMeeus-0.5.11-py3-none-any.whl size=730974 sha256=038a58c0b5e2e140f47dfcd61af75935ee8f07b13f1cc5d9f82dd58190fc5ea2
  Stored in directory: /path/abc/.cache/pip/wheels/33/3d/82/4579e9cca41ff991140b2e050bc6df3a38292f26e4fa06b15d
  Building wheel for wrapt (setup.py) ... done
  Created wheel for wrapt: filename=wrapt-1.13.3-cp39-cp39-linux_ppc64le.whl size=77457 sha256=06bb06fb37cb7ad221f09f0b8a98efcc497f63e92a4c518e44dd692af139d176
  Stored in directory: /path/abc/.cache/pip/wheels/f9/6e/ed/b9a64c8281ff2ee42402497ff3c67f4abd39f552efecc309a9
Successfully built apache-superset holidays msgpack simplejson sqlalchemy cron-descriptor pgsanity python-geohash wtforms-json Flask-JWT-Extended Flask-Login brotli MarkupSafe pymeeus wrapt
Failed to build pyarrow
ERROR: Could not build wheels for pyarrow, which is required to install pyproject.toml-based projects

I got further building Superset by building Arrow and pyarrow as described at https://arrow.apache.org/docs/developers/python.html
Build is now failing at another step and it seems to me that it could be incompatibilities with the compiled version of arrow:
Collecting apache-superset
  Using cached apache_superset-1.4.0-py3-none-any.whl
Collecting markdown>=3.0
  Using cached Markdown-3.3.6-py3-none-any.whl (97 kB)
Collecting requests==2.26.0
  Using cached requests-2.26.0-py2.py3-none-any.whl (62 kB)
Collecting cachelib<0.2,>=0.1.1
  Using cached cachelib-0.1.1-py3-none-any.whl (13 kB)
Collecting python-dotenv
  Using cached python_dotenv-0.19.2-py2.py3-none-any.whl (17 kB)
Collecting PyJWT<2,>=1.7.1
  Using cached PyJWT-1.7.1-py2.py3-none-any.whl (18 kB)
Collecting celery!=4.4.1,<5.0.0,>=4.3.0
  Using cached celery-4.4.7-py2.py3-none-any.whl (427 kB)
Collecting msgpack<1.1,>=1.0.0
  Using cached msgpack-1.0.3-cp39-cp39-linux_ppc64le.whl
Collecting croniter>=0.3.28
  Using cached croniter-1.2.0-py2.py3-none-any.whl (17 kB)
Collecting pyparsing<3.0.0,>=2.4.7
  Using cached pyparsing-2.4.7-py2.py3-none-any.whl (67 kB)
Collecting sqlparse==0.3.0
  Using cached sqlparse-0.3.0-py2.py3-none-any.whl (39 kB)
Collecting slackclient==2.5.0
  Using cached slackclient-2.5.0-py2.py3-none-any.whl (54 kB)
Collecting colorama
  Using cached colorama-0.4.4-py2.py3-none-any.whl (16 kB)
Collecting polyline
  Using cached polyline-1.4.0-py2.py3-none-any.whl (4.4 kB)
Collecting sqlalchemy!=1.3.21,<1.4,>=1.3.16
  Using cached SQLAlchemy-1.3.24-cp39-cp39-linux_ppc64le.whl
Collecting bleach<4.0.0,>=3.0.2
  Using cached bleach-3.3.1-py2.py3-none-any.whl (146 kB)
Collecting flask-migrate
  Using cached Flask_Migrate-3.1.0-py3-none-any.whl (20 kB)
Collecting flask-talisman
  Using cached flask_talisman-0.8.1-py2.py3-none-any.whl (18 kB)
Requirement already satisfied: python-dateutil in ./lib/python3.9/site-packages (from apache-superset) (2.8.2)
Collecting pyyaml>=5.4
  Using cached PyYAML-6.0-cp39-cp39-linux_ppc64le.whl
Collecting isodate
  Using cached isodate-0.6.1-py2.py3-none-any.whl (41 kB)
Collecting sqlalchemy-utils<0.38,>=0.37.8
  Using cached SQLAlchemy_Utils-0.37.9-py3-none-any.whl (100 kB)
Collecting pyarrow<4.1,>=4.0.1
  Using cached pyarrow-4.0.1.tar.gz (711 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Collecting flask-appbuilder<4.0.0,>=3.4.3
  Using cached Flask_AppBuilder-3.4.4-py3-none-any.whl (1.9 MB)
Collecting click<8
  Using cached click-7.1.2-py2.py3-none-any.whl (82 kB)
Collecting simplejson>=3.15.0
  Using cached simplejson-3.17.6-cp39-cp39-linux_ppc64le.whl
Collecting flask<2.0.0,>=1.1.0
  Using cached Flask-1.1.4-py2.py3-none-any.whl (94 kB)
Collecting pandas<1.3,>=1.2.2
  Using cached pandas-1.2.5-cp39-cp39-linux_ppc64le.whl
Collecting flask-wtf
  Using cached Flask_WTF-1.0.0-py3-none-any.whl (12 kB)
Collecting deprecation<2.2.0,>=2.1.0
  Using cached deprecation-2.1.0-py2.py3-none-any.whl (11 kB)
Collecting backoff>=1.8.0
  Using cached backoff-1.11.1-py2.py3-none-any.whl (13 kB)
Collecting redis
  Using cached redis-4.1.2-py3-none-any.whl (173 kB)
Collecting wtforms-json
  Using cached WTForms_JSON-0.3.3-py3-none-any.whl
Collecting gunicorn>=20.1.0
  Using cached gunicorn-20.1.0-py3-none-any.whl (79 kB)
Collecting selenium>=3.141.0
  Using cached selenium-4.1.0-py3-none-any.whl (958 kB)
Collecting tabulate==0.8.9
  Using cached tabulate-0.8.9-py3-none-any.whl (25 kB)
Collecting pgsanity
  Using cached pgsanity-0.2.9-py3-none-any.whl
Collecting typing-extensions<4,>=3.10
  Using cached typing_extensions-3.10.0.2-py3-none-any.whl (26 kB)
Collecting parsedatetime
  Using cached parsedatetime-2.6-py3-none-any.whl (42 kB)
Collecting flask-compress
  Using cached Flask_Compress-1.10.1-py3-none-any.whl (7.9 kB)
Collecting python-geohash
  Using cached python_geohash-0.8.5-cp39-cp39-linux_ppc64le.whl
Collecting holidays==0.10.3
  Using cached holidays-0.10.3-py3-none-any.whl
Collecting cron-descriptor
  Using cached cron_descriptor-1.2.24-py3-none-any.whl
Collecting graphlib-backport
  Using cached graphlib_backport-1.0.3-py3-none-any.whl (5.1 kB)
Collecting cryptography>=3.3.2
  Using cached cryptography-36.0.1-cp39-cp39-linux_ppc64le.whl
Collecting humanize
  Using cached humanize-3.14.0-py3-none-any.whl (98 kB)
Collecting geopy
  Using cached geopy-2.2.0-py3-none-any.whl (118 kB)
Collecting flask-caching>=1.10.0
  Using cached Flask_Caching-1.10.1-py3-none-any.whl (34 kB)
Collecting itsdangerous<2.0.0,>=1.0.0
  Using cached itsdangerous-1.1.0-py2.py3-none-any.whl (16 kB)
Requirement already satisfied: six in ./lib/python3.9/site-packages (from holidays==0.10.3->apache-superset) (1.16.0)
Collecting korean-lunar-calendar
  Using cached korean_lunar_calendar-0.2.1-py3-none-any.whl (8.0 kB)
Collecting convertdate
  Using cached convertdate-2.4.0-py3-none-any.whl (47 kB)
Collecting certifi>=2017.4.17
  Using cached certifi-2021.10.8-py2.py3-none-any.whl (149 kB)
Collecting charset-normalizer~=2.0.0
  Using cached charset_normalizer-2.0.11-py3-none-any.whl (39 kB)
Collecting idna<4,>=2.5
  Using cached idna-3.3-py3-none-any.whl (61 kB)
Collecting urllib3<1.27,>=1.21.1
  Using cached urllib3-1.26.8-py2.py3-none-any.whl (138 kB)
Collecting aiohttp>3.5.2
  Using cached aiohttp-3.8.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (1.2 MB)
Collecting webencodings
  Using cached webencodings-0.5.1-py2.py3-none-any.whl (11 kB)
Collecting packaging
  Using cached packaging-21.3-py3-none-any.whl (40 kB)
Collecting pytz>dev
  Using cached pytz-2021.3-py2.py3-none-any.whl (503 kB)
Collecting vine==1.3.0
  Using cached vine-1.3.0-py2.py3-none-any.whl (14 kB)
Collecting kombu<4.7,>=4.6.10
  Using cached kombu-4.6.11-py2.py3-none-any.whl (184 kB)
Collecting billiard<4.0,>=3.6.3.0
  Using cached billiard-3.6.4.0-py3-none-any.whl (89 kB)
Collecting cffi>=1.12
  Using cached cffi-1.15.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (465 kB)
Collecting Werkzeug<2.0,>=0.15
  Using cached Werkzeug-1.0.1-py2.py3-none-any.whl (298 kB)
Collecting Jinja2<3.0,>=2.10.1
  Using cached Jinja2-2.11.3-py2.py3-none-any.whl (125 kB)
Collecting prison<1.0.0,>=0.2.1
  Using cached prison-0.2.1-py2.py3-none-any.whl (5.8 kB)
Collecting Flask-OpenID<2,>=1.2.5
  Using cached Flask_OpenID-1.3.0-py3-none-any.whl (9.3 kB)
Collecting Flask-Login<0.5,>=0.3
  Using cached Flask_Login-0.4.1-py2.py3-none-any.whl
Collecting WTForms<3.0.0
  Using cached WTForms-2.3.3-py2.py3-none-any.whl (169 kB)
Collecting marshmallow-sqlalchemy<0.27.0,>=0.22.0
  Using cached marshmallow_sqlalchemy-0.26.1-py2.py3-none-any.whl (15 kB)
Collecting Flask-Babel<3,>=1
  Using cached Flask_Babel-2.0.0-py3-none-any.whl (9.3 kB)
Collecting apispec[yaml]<4,>=3.3
  Using cached apispec-3.3.2-py2.py3-none-any.whl (27 kB)
Collecting marshmallow-enum<2,>=1.5.1
  Using cached marshmallow_enum-1.5.1-py2.py3-none-any.whl (4.2 kB)
Collecting marshmallow<4,>=3
  Using cached marshmallow-3.14.1-py3-none-any.whl (47 kB)
Collecting Flask-JWT-Extended<4,>=3.18
  Using cached Flask_JWT_Extended-3.25.1-py2.py3-none-any.whl
Collecting Flask-SQLAlchemy<3,>=2.4
  Using cached Flask_SQLAlchemy-2.5.1-py2.py3-none-any.whl (17 kB)
Collecting email-validator<2,>=1.0.5
  Using cached email_validator-1.1.3-py2.py3-none-any.whl (18 kB)
Collecting flask-wtf
  Using cached Flask_WTF-0.14.3-py2.py3-none-any.whl (13 kB)
Collecting jsonschema<5,>=3
  Using cached jsonschema-4.4.0-py3-none-any.whl (72 kB)
Requirement already satisfied: setuptools>=3.0 in ./lib/python3.9/site-packages (from gunicorn>=20.1.0->apache-superset) (44.1.1)
Collecting importlib-metadata>=4.4
  Using cached importlib_metadata-4.10.1-py3-none-any.whl (17 kB)
Requirement already satisfied: numpy>=1.16.5 in ./lib/python3.9/site-packages (from pandas<1.3,>=1.2.2->apache-superset) (1.22.1)
Collecting trio~=0.17
  Using cached trio-0.19.0-py3-none-any.whl (356 kB)
Collecting trio-websocket~=0.9
  Using cached trio_websocket-0.9.2-py3-none-any.whl (16 kB)
Collecting brotli
  Using cached Brotli-1.0.9-cp39-cp39-linux_ppc64le.whl
Collecting alembic>=0.7
  Using cached alembic-1.7.6-py3-none-any.whl (210 kB)
Collecting geographiclib<2,>=1.49
  Using cached geographiclib-1.52-py3-none-any.whl (38 kB)
Collecting deprecated>=1.2.3
  Using cached Deprecated-1.2.13-py2.py3-none-any.whl (9.6 kB)
Collecting multidict<7.0,>=4.5
  Using cached multidict-6.0.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (121 kB)
Collecting frozenlist>=1.1.1
  Using cached frozenlist-1.3.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (163 kB)
Collecting yarl<2.0,>=1.0
  Using cached yarl-1.7.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (330 kB)
Collecting attrs>=17.3.0
  Using cached attrs-21.4.0-py2.py3-none-any.whl (60 kB)
Collecting async-timeout<5.0,>=4.0.0a3
  Using cached async_timeout-4.0.2-py3-none-any.whl (5.8 kB)
Collecting aiosignal>=1.1.2
  Using cached aiosignal-1.2.0-py3-none-any.whl (8.2 kB)
Collecting Mako
  Using cached Mako-1.1.6-py2.py3-none-any.whl (75 kB)
Collecting pycparser
  Using cached pycparser-2.21-py2.py3-none-any.whl (118 kB)
Collecting wrapt<2,>=1.10
  Using cached wrapt-1.13.3-cp39-cp39-linux_ppc64le.whl
Collecting dnspython>=1.15.0
  Using cached dnspython-2.2.0-py3-none-any.whl (266 kB)
Collecting Babel>=2.3
  Using cached Babel-2.9.1-py2.py3-none-any.whl (8.8 MB)
Collecting python3-openid>=2.0
  Using cached python3_openid-3.2.0-py3-none-any.whl (133 kB)
Collecting zipp>=0.5
  Using cached zipp-3.7.0-py3-none-any.whl (5.3 kB)
Collecting MarkupSafe>=0.23
  Using cached MarkupSafe-2.0.1-cp39-cp39-linux_ppc64le.whl
Collecting pyrsistent!=0.17.0,!=0.17.1,!=0.17.2,>=0.14.0
  Using cached pyrsistent-0.18.1-cp39-cp39-linux_ppc64le.whl
Collecting amqp<2.7,>=2.6.0
  Using cached amqp-2.6.1-py2.py3-none-any.whl (48 kB)
Collecting sortedcontainers
  Using cached sortedcontainers-2.4.0-py2.py3-none-any.whl (29 kB)
Collecting outcome
  Using cached outcome-1.1.0-py2.py3-none-any.whl (9.7 kB)
Collecting sniffio
  Using cached sniffio-1.2.0-py3-none-any.whl (10 kB)
Collecting async-generator>=1.9
  Using cached async_generator-1.10-py3-none-any.whl (18 kB)
Collecting wsproto>=0.14
  Using cached wsproto-1.0.0-py3-none-any.whl (24 kB)
Collecting pyOpenSSL>=0.14
  Using cached pyOpenSSL-22.0.0-py2.py3-none-any.whl (55 kB)
Collecting pymeeus<=1,>=0.3.13
  Using cached PyMeeus-0.5.11-py3-none-any.whl
Collecting defusedxml
  Using cached defusedxml-0.7.1-py2.py3-none-any.whl (25 kB)
Collecting h11<1,>=0.9.0
  Using cached h11-0.13.0-py3-none-any.whl (58 kB)
Building wheels for collected packages: pyarrow
  Building wheel for pyarrow (pyproject.toml) ... error
  error: subprocess-exited-with-error

  × Building wheel for pyarrow (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [142 lines of output]
      running bdist_wheel
      running build
      running build_py
      running egg_info
      writing pyarrow.egg-info/PKG-INFO
      writing dependency_links to pyarrow.egg-info/dependency_links.txt
      writing entry points to pyarrow.egg-info/entry_points.txt
      writing requirements to pyarrow.egg-info/requires.txt
      writing top-level names to pyarrow.egg-info/top_level.txt
      listing git files failed - pretending there aren't any
      reading manifest file 'pyarrow.egg-info/SOURCES.txt'
      reading manifest template 'MANIFEST.in'
      warning: no files found matching '../LICENSE.txt'
      warning: no files found matching '../NOTICE.txt'
      warning: no previously-included files matching '*.so' found anywhere in distribution
      warning: no previously-included files matching '*.pyc' found anywhere in distribution
      warning: no previously-included files matching '*~' found anywhere in distribution
      warning: no previously-included files matching '#*' found anywhere in distribution
      warning: no previously-included files matching '.git*' found anywhere in distribution
      warning: no previously-included files matching '.DS_Store' found anywhere in distribution
      no previously-included directories found matching '.asv'
      running build_ext
      -- The C compiler identification is GNU 10.2.1
      -- The CXX compiler identification is GNU 10.2.1
      -- Detecting C compiler ABI info
      -- Detecting C compiler ABI info - done
      -- Check for working C compiler: /usr/bin/cc - skipped
      -- Detecting C compile features
      -- Detecting C compile features - done
      -- Detecting CXX compiler ABI info
      -- Detecting CXX compiler ABI info - done
      -- Check for working CXX compiler: /usr/bin/c++ - skipped
      -- Detecting CXX compile features
      -- Detecting CXX compile features - done
      -- System processor: ppc64le
      -- Performing Test CXX_SUPPORTS_ALTIVEC
      -- Performing Test CXX_SUPPORTS_ALTIVEC - Success
      -- Arrow build warning level: PRODUCTION
      Using ld linker
      Configured for RELEASE build (set with cmake -DCMAKE_BUILD_TYPE={release,debug,...})
      -- Build Type: RELEASE
      -- Generator: Unix Makefiles
      -- Build output directory: /tmp/user/1000/pip-install-wclvqiry/pyarrow_0a8760f971b34919a51d0a19718454e7/build/temp.linux-ppc64le-3.9/release
      -- Found Python3: /path/abc/venv/bin/python3 (found version "3.9.2") found components: Interpreter Development.Module NumPy
      -- Found Python3Alt: /path/abc/venv/bin/python3
      CMake Warning (dev) at /usr/share/cmake-3.18/Modules/FindPackageHandleStandardArgs.cmake:273 (message):
        The package name passed to `find_package_handle_standard_args` (PkgConfig)
        does not match the name of the calling package (Arrow).  This can lead to
        problems in calling code that expects `find_package` result variables
        (e.g., `_FOUND`) to follow a certain pattern.
      Call Stack (most recent call first):
        /usr/share/cmake-3.18/Modules/FindPkgConfig.cmake:59 (find_package_handle_standard_args)
        cmake_modules/FindArrow.cmake:39 (include)
        cmake_modules/FindArrowPython.cmake:46 (find_package)
        CMakeLists.txt:218 (find_package)
      This warning is for project developers.  Use -Wno-dev to suppress it.

      -- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.2")
      -- Looking for pthread.h
      -- Looking for pthread.h - found
      -- Performing Test CMAKE_HAVE_LIBC_PTHREAD
      -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
      -- Check if compiler accepts -pthread
      -- Check if compiler accepts -pthread - yes
      -- Found Threads: TRUE
      -- Found ZLIB: /usr/lib/powerpc64le-linux-gnu/libz.so (found version "1.2.11")
      -- Found Arrow: /include (found version "7.0.0-SNAPSHOT")
      -- Arrow version: 7.0.0-SNAPSHOT (CMake package configuration: Arrow)
      -- Arrow SO and ABI version: 700
      -- Arrow full SO version: 700.0.0
      -- Found the Arrow core shared library: /lib/libarrow.so
      -- Found the Arrow core import library:
      -- Found the Arrow core static library: /lib/libarrow.a
      -- Could NOT find ArrowPython (missing: ArrowPython_DIR)
      -- Checking for module 'arrow-python'
      --   Found arrow-python, version 7.0.0-SNAPSHOT
      -- Found ArrowPython: /include (found version "7.0.0-SNAPSHOT")
      -- Found the Arrow Python by pkg-config: arrow-python
      -- Found the Arrow Python shared library: /usr/lib/libarrow_python.so
      -- Found the Arrow Python import library:
      -- Found the Arrow Python static library: /lib/libarrow_python.a
      -- Configuring done
      -- Generating done
      -- Build files have been written to: /tmp/user/1000/pip-install-wclvqiry/pyarrow_0a8760f971b34919a51d0a19718454e7/build/temp.linux-ppc64le-3.9
      Scanning dependencies of target _csv_pyx
      [  6%] Compiling Cython CXX source for _csv...
      [  6%] Built target _csv_pyx
      Scanning dependencies of target _csv
      [ 13%] Building CXX object CMakeFiles/_csv.dir/_csv.cpp.o
      /tmp/user/1000/pip-install-wclvqiry/pyarrow_0a8760f971b34919a51d0a19718454e7/build/temp.linux-ppc64le-3.9/_csv.cpp: In function ‘PyObject* __pyx_pf_7pyarrow_4_csv_4write_csv(PyObject*, PyObject*, PyObject*, PyObject*, __pyx_obj_7pyarrow_3lib_MemoryPool*)’:
      /tmp/user/1000/pip-install-wclvqiry/pyarrow_0a8760f971b34919a51d0a19718454e7/build/temp.linux-ppc64le-3.9/_csv.cpp:15529:165: error: no matching function for call to ‘WriteCSV(arrow::RecordBatch&, arrow::csv::WriteOptions&, arrow::MemoryPool*&, std::__shared_ptr<arrow::io::OutputStream, __gnu_cxx::_S_atomic>::element_type*)’
      15529 |           __pyx_t_4 = __pyx_f_7pyarrow_3lib_check_status(arrow::csv::WriteCSV((*__pyx_v_batch), __pyx_v_c_write_options, __pyx_v_c_memory_pool, __pyx_v_stream.get())); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(0, 944, __pyx_L5_error)
            |                                                                                ^
      In file included from /include/arrow/csv/api.h:26,
                       from /tmp/user/1000/pip-install-wclvqiry/pyarrow_0a8760f971b34919a51d0a19718454e7/build/temp.linux-ppc64le-3.9/_csv.cpp:766:
      /include/arrow/csv/writer.h:45:21: note: candidate: ‘arrow::Status arrow::csv::WriteCSV(const arrow::Table&, const arrow::csv::WriteOptions&, arrow::io::OutputStream*)’
         45 | ARROW_EXPORT Status WriteCSV(const Table& table, const WriteOptions& options,
            |                     ^~~~~~~~
      /include/arrow/csv/writer.h:45:21: note:   candidate expects 3 arguments, 4 provided
      /include/arrow/csv/writer.h:49:21: note: candidate: ‘arrow::Status arrow::csv::WriteCSV(const arrow::RecordBatch&, const arrow::csv::WriteOptions&, arrow::io::OutputStream*)’
         49 | ARROW_EXPORT Status WriteCSV(const RecordBatch& batch, const WriteOptions& options,
            |                     ^~~~~~~~
      /include/arrow/csv/writer.h:49:21: note:   candidate expects 3 arguments, 4 provided
      /include/arrow/csv/writer.h:54:21: note: candidate: ‘arrow::Status arrow::csv::WriteCSV(const std::shared_ptr<arrow::RecordBatchReader>&, const arrow::csv::WriteOptions&, arrow::io::OutputStream*)’
         54 | ARROW_EXPORT Status WriteCSV(const std::shared_ptr<RecordBatchReader>& reader,
            |                     ^~~~~~~~
      /include/arrow/csv/writer.h:54:21: note:   candidate expects 3 arguments, 4 provided
      /tmp/user/1000/pip-install-wclvqiry/pyarrow_0a8760f971b34919a51d0a19718454e7/build/temp.linux-ppc64le-3.9/_csv.cpp:15610:165: error: no matching function for call to ‘WriteCSV(arrow::Table&, arrow::csv::WriteOptions&, arrow::MemoryPool*&, std::__shared_ptr<arrow::io::OutputStream, __gnu_cxx::_S_atomic>::element_type*)’
      15610 |           __pyx_t_4 = __pyx_f_7pyarrow_3lib_check_status(arrow::csv::WriteCSV((*__pyx_v_table), __pyx_v_c_write_options, __pyx_v_c_memory_pool, __pyx_v_stream.get())); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(0, 949, __pyx_L8_error)
            |                                                                                ^
      In file included from /include/arrow/csv/api.h:26,
                       from /tmp/user/1000/pip-install-wclvqiry/pyarrow_0a8760f971b34919a51d0a19718454e7/build/temp.linux-ppc64le-3.9/_csv.cpp:766:
      /include/arrow/csv/writer.h:45:21: note: candidate: ‘arrow::Status arrow::csv::WriteCSV(const arrow::Table&, const arrow::csv::WriteOptions&, arrow::io::OutputStream*)’
         45 | ARROW_EXPORT Status WriteCSV(const Table& table, const WriteOptions& options,
            |                     ^~~~~~~~
      /include/arrow/csv/writer.h:45:21: note:   candidate expects 3 arguments, 4 provided
      /include/arrow/csv/writer.h:49:21: note: candidate: ‘arrow::Status arrow::csv::WriteCSV(const arrow::RecordBatch&, const arrow::csv::WriteOptions&, arrow::io::OutputStream*)’
         49 | ARROW_EXPORT Status WriteCSV(const RecordBatch& batch, const WriteOptions& options,
            |                     ^~~~~~~~
      /include/arrow/csv/writer.h:49:21: note:   candidate expects 3 arguments, 4 provided
      /include/arrow/csv/writer.h:54:21: note: candidate: ‘arrow::Status arrow::csv::WriteCSV(const std::shared_ptr<arrow::RecordBatchReader>&, const arrow::csv::WriteOptions&, arrow::io::OutputStream*)’
         54 | ARROW_EXPORT Status WriteCSV(const std::shared_ptr<RecordBatchReader>& reader,
            |                     ^~~~~~~~
      /include/arrow/csv/writer.h:54:21: note:   candidate expects 3 arguments, 4 provided
      In file included from /usr/include/powerpc64le-linux-gnu/bits/types/stack_t.h:23,
                       from /usr/include/signal.h:303,
                       from /include/arrow/util/io_util.h:30,
                       from /include/arrow/util/async_generator.h:30,
                       from /include/arrow/ipc/reader.h:35,
                       from /include/arrow/ipc/api.h:24,
                       from /tmp/user/1000/pip-install-wclvqiry/pyarrow_0a8760f971b34919a51d0a19718454e7/build/temp.linux-ppc64le-3.9/_csv.cpp:764:
      /tmp/user/1000/pip-install-wclvqiry/pyarrow_0a8760f971b34919a51d0a19718454e7/build/temp.linux-ppc64le-3.9/_csv.cpp: In function ‘int __Pyx_modinit_type_init_code()’:
      /tmp/user/1000/pip-install-wclvqiry/pyarrow_0a8760f971b34919a51d0a19718454e7/build/temp.linux-ppc64le-3.9/_csv.cpp:19159:138: warning: ‘offsetof’ within non-standard-layout type ‘__pyx_obj_7pyarrow_4_csv_ParseOptions’ is conditionally-supported [-Winvalid-offsetof]
      19159 |   if (__pyx_type_7pyarrow_4_csv_ParseOptions.tp_weaklistoffset == 0) __pyx_type_7pyarrow_4_csv_ParseOptions.tp_weaklistoffset = offsetof(struct __pyx_obj_7pyarrow_4_csv_ParseOptions, __pyx_base.__weakref__);
            |                                                                                ^
      gmake[2]: *** [CMakeFiles/_csv.dir/build.make:82: CMakeFiles/_csv.dir/_csv.cpp.o] error 1
      gmake[1]: *** [CMakeFiles/Makefile2:135: CMakeFiles/_csv.dir/all] error 2
      gmake: *** [Makefile:103: all] error 2
      -- Running cmake for pyarrow
      -- Finished cmake for pyarrow
      -- Running cmake --build for pyarrow
      error: command '/usr/bin/cmake' failed with exit code 2
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for pyarrow
Failed to build pyarrow
ERROR: Could not build wheels for pyarrow, which is required to install pyproject.toml-based projects

Is there a specific Arrow version I could try with that should work with the specific Superset version or is there another thing to try?

Hi @helix-loop - just wondering if you've been able to take a look at this lately to see if there have been any updates that might make Arrow work on your setup, of if anything has been (by unlikely magic) fixed in newer versions of Superset (particularly 2.0+). Let us know if you think we should keep this issue open, as we no longer officially support versions of Superset prior to 1.5.x.

authors: helix-loop rusackas


text:
superset init command fails at version 2.0.0

When I run #superset init command at the console of Superset UI container it fails
How to reproduce the bug

Go to Superset UI container console
Run #superset db upgrade - finish successfully
Then when I run #superset initand get an error

Expected results
The command completes without errors
Actual results
I got an SQL error.
Screenshots
$ superset init
Loaded your LOCAL configuration at [/app/pythonpath/superset_config.py]
2022-08-29 15:04:50,882:INFO:superset.utils.logging_configurator:logging was configured successfully
2022-08-29 15:04:50,887:INFO:root:Configured event logger of type <class 'superset.utils.log.DBEventLogger'>
2022-08-29 15:04:55,390:INFO:superset.security.manager:Syncing role definition
2022-08-29 15:04:55,403:INFO:superset.security.manager:Syncing Admin perms
2022-08-29 15:04:55,605:INFO:superset.security.manager:Syncing Alpha perms
2022-08-29 15:04:55,807:INFO:superset.security.manager:Syncing Gamma perms
2022-08-29 15:04:56,018:INFO:superset.security.manager:Syncing granter perms
2022-08-29 15:04:56,214:INFO:superset.security.manager:Syncing sql_lab perms
2022-08-29 15:04:56,422:INFO:superset.security.manager:Copy/Merge True to Public
Traceback (most recent call last):
  File "/usr/local/lib/python3.8/site-packages/sqlalchemy/engine/base.py", line 1276, in _execute_context
    self.dialect.do_execute(
  File "/usr/local/lib/python3.8/site-packages/sqlalchemy/engine/default.py", line 608, in do_execute
    cursor.execute(statement, parameters)
psycopg2.errors.UndefinedFunction: operator does not exist: character varying = boolean
LINE 3: WHERE ab_role.name = true
                           ^
HINT:  No operator matches the given name and argument types. You might need to add explicit type casts.

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/local/bin/superset", line 33, in <module>
    sys.exit(load_entry_point('apache-superset', 'console_scripts', 'superset')())
  File "/usr/local/lib/python3.8/site-packages/click/core.py", line 1128, in __call__
    return self.main(*args, **kwargs)
  File "/usr/local/lib/python3.8/site-packages/flask/cli.py", line 601, in main
    return super().main(*args, **kwargs)
  File "/usr/local/lib/python3.8/site-packages/click/core.py", line 1053, in main
    rv = self.invoke(ctx)
  File "/usr/local/lib/python3.8/site-packages/click/core.py", line 1659, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/usr/local/lib/python3.8/site-packages/click/core.py", line 1395, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/usr/local/lib/python3.8/site-packages/click/core.py", line 754, in invoke
    return __callback(*args, **kwargs)
  File "/usr/local/lib/python3.8/site-packages/click/decorators.py", line 26, in new_func
    return f(get_current_context(), *args, **kwargs)
  File "/usr/local/lib/python3.8/site-packages/flask/cli.py", line 445, in decorator
    return __ctx.invoke(f, *args, **kwargs)
  File "/usr/local/lib/python3.8/site-packages/click/core.py", line 754, in invoke
    return __callback(*args, **kwargs)
  File "/usr/local/lib/python3.8/site-packages/click/decorators.py", line 26, in new_func
    return f(get_current_context(), *args, **kwargs)
  File "/usr/local/lib/python3.8/site-packages/flask/cli.py", line 445, in decorator
    return __ctx.invoke(f, *args, **kwargs)
  File "/usr/local/lib/python3.8/site-packages/click/core.py", line 754, in invoke
    return __callback(*args, **kwargs)
  File "/app/superset/cli/main.py", line 62, in init
    security_manager.sync_role_definitions()
  File "/app/superset/security/manager.py", line 725, in sync_role_definitions
    self.copy_role(
  File "/app/superset/security/manager.py", line 782, in copy_role
    role_from_permissions = list(self.find_role(role_from_name).permissions)
  File "/usr/local/lib/python3.8/site-packages/flask_appbuilder/security/sqla/manager.py", line 308, in find_role
    self.get_session.query(self.role_model).filter_by(name=name).one_or_none()
  File "/usr/local/lib/python3.8/site-packages/sqlalchemy/orm/query.py", line 3459, in one_or_none
    ret = list(self)
  File "/usr/local/lib/python3.8/site-packages/sqlalchemy/orm/query.py", line 3535, in __iter__
    return self._execute_and_instances(context)
  File "/usr/local/lib/python3.8/site-packages/sqlalchemy/orm/query.py", line 3560, in _execute_and_instances
    result = conn.execute(querycontext.statement, self._params)
  File "/usr/local/lib/python3.8/site-packages/sqlalchemy/engine/base.py", line 1011, in execute
    return meth(self, multiparams, params)
  File "/usr/local/lib/python3.8/site-packages/sqlalchemy/sql/elements.py", line 298, in _execute_on_connection
    return connection._execute_clauseelement(self, multiparams, params)
  File "/usr/local/lib/python3.8/site-packages/sqlalchemy/engine/base.py", line 1124, in _execute_clauseelement
    ret = self._execute_context(
  File "/usr/local/lib/python3.8/site-packages/sqlalchemy/engine/base.py", line 1316, in _execute_context
    self._handle_dbapi_exception(
  File "/usr/local/lib/python3.8/site-packages/sqlalchemy/engine/base.py", line 1510, in _handle_dbapi_exception
    util.raise_(
  File "/usr/local/lib/python3.8/site-packages/sqlalchemy/util/compat.py", line 182, in raise_
    raise exception
  File "/usr/local/lib/python3.8/site-packages/sqlalchemy/engine/base.py", line 1276, in _execute_context
    self.dialect.do_execute(
  File "/usr/local/lib/python3.8/site-packages/sqlalchemy/engine/default.py", line 608, in do_execute
    cursor.execute(statement, parameters)
sqlalchemy.exc.ProgrammingError: (psycopg2.errors.UndefinedFunction) operator does not exist: character varying = boolean
LINE 3: WHERE ab_role.name = true
                           ^
HINT:  No operator matches the given name and argument types. You might need to add explicit type casts.

[SQL: SELECT ab_role.id AS ab_role_id, ab_role.name AS ab_role_name
FROM ab_role
WHERE ab_role.name = true]
(Background on this error at: http://sqlalche.me/e/13/f405)

Environment

deployed on the Openshift 3.11 platform, using dockerhub's apache/superset:2.0.0 as a base image
superset version: 2.0.0
python version: Python 3.8.12
Postgresql version: 12
any feature flags active:

"DASHBOARD_CACHE": True,
"GLOBAL_ASYNC_QUERIES": True,
"DASHBOARD_CROSS_FILTERS": True,
"DASHBOARD_NATIVE_FILTERS_SET": True,
"ALERT_REPORTS": True,
"ENABLE_EXPLORE_DRAG_AND_DROP": True,
"ENABLE_DND_WITH_CLICK_UX": True,

I'm wondering if the issue doesn't come from the configuration. It looks like you defined PUBLIC_ROLE_LIKE to True while the name of an existing role is expected (eg. Gamma). The boolean value was for the previous deprecated configuration variable PUBLIC_ROLE_LIKE_GAMMA.

You are right, thanks for your suggestion and help

authors: fgomezotero rdubois


text:
Having a trailing backslash in supersetDomain when embedding silently fails

When you attempt to embed an Superset dashboard using the @superset-ui/embedded-sdk package, having an trailing backslash in the supersetDomain will silently fail.
The IFrame will display the superset loading indicator, and make an request to /roles however nothing more happens.
How to reproduce the bug

Enable embedding in Superset
Create an application where you want to embed a dashboard
Generate a Guest_Token
Embed Superset using the following snippet

embedDashboard({
                id: yourembedid,
                supersetDomain: http://localhost:8088/, // Notice the trailing backslash
                mountPoint: document.getElementById("dashboard"),
                fetchGuestToken: async () => {
                    return "Your guest token";
                }
            })

Expected results
I expect the embedded dashboard to either load, or throw an error in the console.
Actual results
The loading indicator is display, but afterwards no error or dashboard is displayed
Environment
(please complete the following information):

browser type and version: Microsoft Edge - Version 114.0.1823.58 (Official build) (64-bit)
superset version: superset version - Superset 0.0.0-dev / Based off apache/superset:latest@sha256:de1fc7e9e51cda19aa8e510c6dce683a949d7515d4d76b774ec940332761fdfa
python version: python --version Python 3.9.16
node.js version: node -v command not found
any feature flags active: EMBEDDED_SUPERSET

Checklist
Make sure to follow these steps before submitting your issue - thank you!

[x] I have checked the superset logs for python stacktraces and included it here as text if there are any.
[x] I have reproduced the issue with at least the latest released version of superset.
[x] I have checked the issue tracker for the same issue and I haven't found one similar.

Additional context
Add any other context about the problem here.

Is this still an issue in current Superset?

Looks like this was resolved by https://github.com/apache/superset/pull/25020

authors: Nisden rusackas


text:
The tooltip of Country Map is not readable

Screenshot
The tooltip is OK on World Map :

The tooltip follows the position of mouse

and background color is used. The value is readeable
It is not the same for Country Map

Best regards

Yes, I was just noticing this a couple days ago... I'm not sure when it regressed, but I believe the name should be located at the centroid of the region you're hovering on. I'm not sure how far back this happened, but a git bisect would likely turn up the problem, if anyone doesn't see it immediately in the code.
The position and the legibility are somewhat separate issues... I'm more worried about the position, but both are valid. Should we split these into two issues? Do you have interest in tackling either?
@michael-s-molina just merged a new tooltip renderer that we'd like to start standardizing on... perhaps this is a good chance to spiff things up a little bit while we're at it?

Thank you for your feedback, I personally see no point in splitting the subject into 2 because for me it forms a whole.
I understand that corrections can be effective on one subject or another.
If you would like me to troubleshoot to make this easier to fix, I can do that.
Sincerely

If you would like me to troubleshoot to make this easier to fix, I can do that.

That would be amazing! Many of us are stretched for time, so any help we can get goes a long, long way. A PR would be the dream, but more diagnostics sure help!


text:
fix: row limit in filter box

SUMMARY
Currently there is a hard coded row limit on FilterBox.
I added the row limit control to the filter box visualization control panel so the user can customize this limit.
However the new default limit is 50000, imposed by the control itself.
There was another pull request (#8101) that fixed this but placed the row limit within each field being filtered, but this leads to having several row limit selects.
BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF
Before:

After:

TEST PLAN
Suppose that the rendering of controls cover this :thinking:
ADDITIONAL INFORMATION

[x] Has associated issue: #7971
[x] Changes UI
[ ] Requires DB Migration.
[ ] Confirm DB Migration upgrade and downgrade tested.
[ ] Introduces new feature or API
[ ] Removes existing feature or API

Closing to rerun the CI

@villebro can this be merged?

I think personally I prefer the approach in https://github.com/apache/incubator-superset/pull/8101, looks like the PR got dropped, but it should be easy to revive/update it.

I'd also vote for reviving #8101

what about an unlimited option where whatever a user types, ie "Ecuador" is sent as query to to backend db --> select distinct column from table where column like '%Ecuador%' then the results of that are shown in the dropdown list? ie Ecuador Exports, Ecuador Imports, Ecuador Revenue.... Otherwise even a limit of 10million would crash browser or not cover all entries in a huge table

There's deeper work on filters taking place as we speak that will replace the "Filter Box" with dashboard-native filters

Closing this PR @aspedrosa as the community momentum is focused on the new Dashboard Native Filters and slowly deprecating Filterbox 🙏

authors: aspedrosa mistercrunch srinify tooptoop4 villebro