{"version":3,"sources":["webpack:///./src/pages/docs/frequently-asked-questions-page.mdx"],"names":["_frontmatter","layoutProps","MDXLayout","DefaultLayout","MDXContent","components","props","mdxType","parentName","isMDXComponent"],"mappings":"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","file":"component---src-pages-docs-frequently-asked-questions-page-mdx-e07a4f3ce622f609f03b.js","sourcesContent":["import * as React from 'react'\n  /* @jsx mdx */\nimport { mdx } from '@mdx-js/react';\n/* @jsxRuntime classic */\n\n/* @jsx mdx */\n\nimport DefaultLayout from \"/home/runner/work/superset/superset/docs/node_modules/gatsby-theme-docz/src/base/Layout.js\";\nexport const _frontmatter = {};\nconst layoutProps = {\n  _frontmatter\n};\nconst MDXLayout = DefaultLayout;\nexport default function MDXContent({\n  components,\n  ...props\n}) {\n  return <MDXLayout {...layoutProps} {...props} components={components} mdxType=\"MDXLayout\">\n\n\n    <h2 {...{\n      \"id\": \"frequently-asked-questions\"\n    }}>{`Frequently Asked Questions`}</h2>\n    <h3 {...{\n      \"id\": \"can-i-join--query-multiple-tables-at-one-time\"\n    }}>{`Can I join / query multiple tables at one time?`}</h3>\n    <p>{`Not in the Explore or Visualization UI. A Superset SQLAlchemy datasource can only be a single table\nor a view.`}</p>\n    <p>{`When working with tables, the solution would be to materialize a table that contains all the fields\nneeded for your analysis, most likely through some scheduled batch process.`}</p>\n    <p>{`A view is a simple logical layer that abstract an arbitrary SQL queries as a virtual table. This can\nallow you to join and union multiple tables, and to apply some transformation using arbitrary SQL\nexpressions. The limitation there is your database performance as Superset effectively will run a\nquery on top of your query (view). A good practice may be to limit yourself to joining your main\nlarge table to one or many small tables only, and avoid using `}<em parentName=\"p\">{`GROUP BY`}</em>{` where possible as Superset\nwill do its own `}<em parentName=\"p\">{`GROUP BY`}</em>{` and doing the work twice might slow down performance.`}</p>\n    <p>{`Whether you use a table or a view, the important factor is whether your database is fast enough to\nserve it in an interactive fashion to provide a good user experience in Superset.`}</p>\n    <h3 {...{\n      \"id\": \"how-big-can-my-datasource-be\"\n    }}>{`How BIG can my datasource be?`}</h3>\n    <p>{`It can be gigantic! Superset acts as a thin layer above your underlying databases or data engines.`}</p>\n    <p>{`As mentioned above, the main criteria is whether your database can execute queries and return\nresults in a time frame that is acceptable to your users. Many distributed databases out there can\nexecute queries that scan through terabytes in an interactive fashion.`}</p>\n    <h3 {...{\n      \"id\": \"how-do-i-create-my-own-visualization\"\n    }}>{`How do I create my own visualization?`}</h3>\n    <p>{`We recommend reading the instructions in\n`}<a parentName=\"p\" {...{\n        \"href\": \"/docs/installation/building-custom-viz-plugins\"\n      }}>{`Building Custom Viz Plugins`}</a>{`.`}</p>\n    <h3 {...{\n      \"id\": \"can-i-upload-and-visualize-csv-data\"\n    }}>{`Can I upload and visualize CSV data?`}</h3>\n    <p>{`Absolutely! Read the instructions `}<a parentName=\"p\" {...{\n        \"href\": \"/docs/creating-charts-dashboards/exploring-data\"\n      }}>{`here`}</a>{` to learn\nhow to enable and use CSV upload.`}</p>\n    <h3 {...{\n      \"id\": \"why-are-my-queries-timing-out\"\n    }}>{`Why are my queries timing out?`}</h3>\n    <p>{`There are many reasons may cause long query timing out.`}</p>\n    <p>{`For running long query from Sql Lab, by default Superset allows it run as long as 6 hours before it\nbeing killed by celery. If you want to increase the time for running query, you can specify the\ntimeout in configuration. For example:`}</p>\n    <pre><code parentName=\"pre\" {...{}}>{`SQLLAB_ASYNC_TIME_LIMIT_SEC = 60 * 60 * 6\n`}</code></pre>\n    <p>{`Superset is running on gunicorn web server, which may time out web requests. If you want to increase\nthe default (50), you can specify the timeout when starting the web server with the -t flag, which\nis expressed in seconds.`}</p>\n    <pre><code parentName=\"pre\" {...{}}>{`superset runserver -t 300\n`}</code></pre>\n    <p>{`If you are seeing timeouts (504 Gateway Time-out) when loading dashboard or explore slice, you are\nprobably behind gateway or proxy server (such as Nginx). If it did not receive a timely response\nfrom Superset server (which is processing long queries), these web servers will send 504 status code\nto clients directly. Superset has a client-side timeout limit to address this issue. If query didn’t\ncome back within client-side timeout (60 seconds by default), Superset will display warning message\nto avoid gateway timeout message. If you have a longer gateway timeout limit, you can change the\ntimeout settings in `}<strong parentName=\"p\">{`superset_config.py`}</strong>{`:`}</p>\n    <pre><code parentName=\"pre\" {...{}}>{`SUPERSET_WEBSERVER_TIMEOUT = 60\n`}</code></pre>\n    <h3 {...{\n      \"id\": \"why-is-the-map-not-visible-in-the-geospatial-visualization\"\n    }}>{`Why is the map not visible in the geospatial visualization?`}</h3>\n    <p>{`You need to register a free account at `}<a parentName=\"p\" {...{\n        \"href\": \"www.mapbox.com\"\n      }}>{`Mapbox.com`}</a>{`, obtain an API key, and add it\nto `}<strong parentName=\"p\">{`superset_config.py`}</strong>{` at the key MAPBOX_API_KEY:`}</p>\n    <pre><code parentName=\"pre\" {...{}}>{`MAPBOX_API_KEY = \"longstringofalphanumer1c\"\n`}</code></pre>\n    <h3 {...{\n      \"id\": \"how-to-add-dynamic-filters-to-a-dashboard\"\n    }}>{`How to add dynamic filters to a dashboard?`}</h3>\n    <p>{`Use the `}<strong parentName=\"p\">{`Filter Box`}</strong>{` widget, build a slice, and add it to your dashboard.`}</p>\n    <p>{`The `}<strong parentName=\"p\">{`Filter Box`}</strong>{` widget allows you to define a query to populate dropdowns that can be used for\nfiltering. To build the list of distinct values, we run a query, and sort the result by the metric\nyou provide, sorting descending.`}</p>\n    <p>{`The widget also has a checkbox `}<strong parentName=\"p\">{`Date Filter`}</strong>{`, which enables time filtering capabilities to your\ndashboard. After checking the box and refreshing, you’ll see a from and a to dropdown show up.`}</p>\n    <p>{`By default, the filtering will be applied to all the slices that are built on top of a datasource\nthat shares the column name that the filter is based on. It’s also a requirement for that column to\nbe checked as “filterable” in the column tab of the table editor.`}</p>\n    <p>{`But what about if you don’t want certain widgets to get filtered on your dashboard? You can do that\nby editing your dashboard, and in the form, edit the JSON Metadata field, more specifically the\n`}<inlineCode parentName=\"p\">{`filter_immune_slices`}</inlineCode>{` key, that receives an array of sliceIds that should never be affected by any\ndashboard level filtering.`}</p>\n    <pre><code parentName=\"pre\" {...{}}>{`{\n    \"filter_immune_slices\": [324, 65, 92],\n    \"expanded_slices\": {},\n    \"filter_immune_slice_fields\": {\n        \"177\": [\"country_name\", \"__time_range\"],\n        \"32\": [\"__time_range\"]\n    },\n    \"timed_refresh_immune_slices\": [324]\n}\n`}</code></pre>\n    <p>{`In the json blob above, slices 324, 65 and 92 won’t be affected by any dashboard level filtering.`}</p>\n    <p>{`Now note the `}<inlineCode parentName=\"p\">{`filter_immune_slice_fields`}</inlineCode>{` key. This one allows you to be more specific and define\nfor a specific slice_id, which filter fields should be disregarded.`}</p>\n    <p>{`Note the use of the `}<inlineCode parentName=\"p\">{`__time_range`}</inlineCode>{` keyword, which is reserved for dealing with the time boundary\nfiltering mentioned above.`}</p>\n    <p>{`But what happens with filtering when dealing with slices coming from different tables or databases?\nIf the column name is shared, the filter will be applied, it’s as simple as that.`}</p>\n    <h3 {...{\n      \"id\": \"how-to-limit-the-timed-refresh-on-a-dashboard\"\n    }}>{`How to limit the timed refresh on a dashboard?`}</h3>\n    <p>{`By default, the dashboard timed refresh feature allows you to automatically re-query every slice on\na dashboard according to a set schedule. Sometimes, however, you won’t want all of the slices to be\nrefreshed - especially if some data is slow moving, or run heavy queries. To exclude specific slices\nfrom the timed refresh process, add the `}<inlineCode parentName=\"p\">{`timed_refresh_immune_slices`}</inlineCode>{` key to the dashboard JSON\nMetadata field:`}</p>\n    <pre><code parentName=\"pre\" {...{}}>{`{\n   \"filter_immune_slices\": [],\n    \"expanded_slices\": {},\n    \"filter_immune_slice_fields\": {},\n    \"timed_refresh_immune_slices\": [324]\n}\n`}</code></pre>\n    <p>{`In the example above, if a timed refresh is set for the dashboard, then every slice except 324 will\nbe automatically re-queried on schedule.`}</p>\n    <p>{`Slice refresh will also be staggered over the specified period. You can turn off this staggering by\nsetting the `}<inlineCode parentName=\"p\">{`stagger_refresh`}</inlineCode>{` to false and modify the stagger period by setting `}<inlineCode parentName=\"p\">{`stagger_time`}</inlineCode>{` to a\nvalue in milliseconds in the JSON Metadata field:`}</p>\n    <pre><code parentName=\"pre\" {...{}}>{`{\n    \"stagger_refresh\": false,\n    \"stagger_time\": 2500\n}\n`}</code></pre>\n    <p>{`Here, the entire dashboard will refresh at once if periodic refresh is on. The stagger time of 2.5\nseconds is ignored.`}</p>\n    <p><strong parentName=\"p\">{`Why does ‘flask fab’ or superset freezed/hung/not responding when started (my home directory is\nNFS mounted)?`}</strong></p>\n    <p>{`By default, Superset creates and uses an SQLite database at `}<inlineCode parentName=\"p\">{`~/.superset/superset.db`}</inlineCode>{`. SQLite is\nknown to `}<a parentName=\"p\" {...{\n        \"href\": \"https://www.sqlite.org/lockingv3.html\"\n      }}>{`not work well if used on NFS`}</a>{` due to broken file\nlocking implementation on NFS.`}</p>\n    <p>{`You can override this path using the `}<strong parentName=\"p\">{`SUPERSET_HOME`}</strong>{` environment variable.`}</p>\n    <p>{`Another workaround is to change where superset stores the sqlite database by adding the following in\n`}<inlineCode parentName=\"p\">{`superset_config.py`}</inlineCode>{`:`}</p>\n    <pre><code parentName=\"pre\" {...{}}>{`SQLALCHEMY_DATABASE_URI = 'sqlite:////new/location/superset.db'\n`}</code></pre>\n    <p>{`You can read more about customizing Superset using the configuration file\n`}<a parentName=\"p\" {...{\n        \"href\": \"/docs/installation/configuring-superset\"\n      }}>{`here`}</a>{`.`}</p>\n    <h3 {...{\n      \"id\": \"what-if-the-table-schema-changed\"\n    }}>{`What if the table schema changed?`}</h3>\n    <p>{`Table schemas evolve, and Superset needs to reflect that. It’s pretty common in the life cycle of a\ndashboard to want to add a new dimension or metric. To get Superset to discover your new columns,\nall you have to do is to go to `}<strong parentName=\"p\">{`Menu -> Sources -> Tables`}</strong>{`, click the edit icon next to the table\nwho’s schema has changed, and hit `}<strong parentName=\"p\">{`Save`}</strong>{` from the `}<strong parentName=\"p\">{`Detail`}</strong>{` tab. Behind the scene, the new\ncolumns will get merged it. Following this, you may want to re-edit the table afterwards to\nconfigure the Column tab, check the appropriate boxes and save again.`}</p>\n    <h3 {...{\n      \"id\": \"what-database-engine-can-i-use-as-a-backend-for-superset\"\n    }}>{`What database engine can I use as a backend for Superset?`}</h3>\n    <p>{`To clarify, the database backend is an OLTP database used by Superset to store its internal\ninformation like your list of users, slices and dashboard definitions.`}</p>\n    <p>{`Superset is tested using Mysql, Postgresql and Sqlite for its backend. It’s recommended you install\nSuperset on one of these database server for production.`}</p>\n    <p>{`Using a column-store, non-OLTP databases like Vertica, Redshift or Presto as a database backend\nsimply won’t work as these databases are not designed for this type of workload. Installation on\nOracle, Microsoft SQL Server, or other OLTP databases may work but isn’t tested.`}</p>\n    <p>{`Please note that pretty much any databases that have a SqlAlchemy integration should work perfectly\nfine as a datasource for Superset, just not as the OLTP backend.`}</p>\n    <h3 {...{\n      \"id\": \"how-can-i-configure-oauth-authentication-and-authorization\"\n    }}>{`How can I configure OAuth authentication and authorization?`}</h3>\n    <p>{`You can take a look at this Flask-AppBuilder\n`}<a parentName=\"p\" {...{\n        \"href\": \"https://github.com/dpgaspar/Flask-AppBuilder/blob/master/examples/oauth/config.py\"\n      }}>{`configuration example`}</a>{`.`}</p>\n    <h3 {...{\n      \"id\": \"how-can-i-set-a-default-filter-on-my-dashboard\"\n    }}>{`How can I set a default filter on my dashboard?`}</h3>\n    <p>{`Simply apply the filter and save the dashboard while the filter is active.`}</p>\n    <h3 {...{\n      \"id\": \"how-do-i-get-superset-to-refresh-the-schema-of-my-table\"\n    }}>{`How do I get Superset to refresh the schema of my table?`}</h3>\n    <p>{`When adding columns to a table, you can have Superset detect and merge the new columns in by using\nthe “Refresh Metadata” action in the `}<strong parentName=\"p\">{`Source -> Tables`}</strong>{` page. Simply check the box next to the\ntables you want the schema refreshed, and click `}<strong parentName=\"p\">{`Actions -> Refresh Metadata`}</strong>{`.`}</p>\n    <h3 {...{\n      \"id\": \"is-there-a-way-to-force-the-use-specific-colors\"\n    }}>{`Is there a way to force the use specific colors?`}</h3>\n    <p>{`It is possible on a per-dashboard basis by providing a mapping of labels to colors in the JSON\nMetadata attribute using the `}<inlineCode parentName=\"p\">{`label_colors`}</inlineCode>{` key.`}</p>\n    <pre><code parentName=\"pre\" {...{}}>{`{\n    \"label_colors\": {\n        \"Girls\": \"#FF69B4\",\n        \"Boys\": \"#ADD8E6\"\n    }\n}\n`}</code></pre>\n    <h3 {...{\n      \"id\": \"does-superset-work-with-insert-database-engine-here\"\n    }}>{`Does Superset work with `}{`[insert database engine here]`}{`?`}</h3>\n    <p>{`The `}<a parentName=\"p\" {...{\n        \"href\": \"/docs/databases/installing-database-drivers\"\n      }}>{`Connecting to Databases section`}</a>{` provides the best\noverview for supported databases. Database engines not listed on that page may work too. We rely on\nthe community to contribute to this knowledge base.`}</p>\n    <p>{`For a database engine to be supported in Superset through the SQLAlchemy connector, it requires\nhaving a Python compliant `}<a parentName=\"p\" {...{\n        \"href\": \"https://docs.sqlalchemy.org/en/13/dialects/\"\n      }}>{`SQLAlchemy dialect`}</a>{` as well\nas a `}<a parentName=\"p\" {...{\n        \"href\": \"https://www.python.org/dev/peps/pep-0249/\"\n      }}>{`DBAPI driver`}</a>{` defined. Database that have limited\nSQL support may work as well. For instance it’s possible to connect to Druid through the SQLAlchemy\nconnector even though Druid does not support joins and subqueries. Another key element for a\ndatabase to be supported is through the Superset Database Engine Specification interface. This\ninterface allows for defining database-specific configurations and logic that go beyond the\nSQLAlchemy and DBAPI scope. This includes features like:`}</p>\n    <ul>\n      <li parentName=\"ul\">{`date-related SQL function that allow Superset to fetch different time granularities when running\ntime-series queries`}</li>\n      <li parentName=\"ul\">{`whether the engine supports subqueries. If false, Superset may run 2-phase queries to compensate\nfor the limitation`}</li>\n      <li parentName=\"ul\">{`methods around processing logs and inferring the percentage of completion of a query`}</li>\n      <li parentName=\"ul\">{`technicalities as to how to handle cursors and connections if the driver is not standard DBAPI`}</li>\n    </ul>\n    <p>{`Beyond the SQLAlchemy connector, it’s also possible, though much more involved, to extend Superset\nand write your own connector. The only example of this at the moment is the Druid connector, which\nis getting superseded by Druid’s growing SQL support and the recent availability of a DBAPI and\nSQLAlchemy driver. If the database you are considering integrating has any kind of of SQL support,\nit’s probably preferable to go the SQLAlchemy route. Note that for a native connector to be possible\nthe database needs to have support for running OLAP-type queries and should be able to things that\nare typical in basic SQL:`}</p>\n    <ul>\n      <li parentName=\"ul\">{`aggregate data`}</li>\n      <li parentName=\"ul\">{`apply filters`}</li>\n      <li parentName=\"ul\">{`apply HAVING-type filters`}</li>\n      <li parentName=\"ul\">{`be schema-aware, expose columns and types`}</li>\n    </ul>\n    <h3 {...{\n      \"id\": \"does-superset-offer-a-public-api\"\n    }}>{`Does Superset offer a public API?`}</h3>\n    <p>{`Yes, a public REST API, and the surface of that API formal is expanding steadily. You can read more about this API and\ninteract with it using Swagger `}<a parentName=\"p\" {...{\n        \"href\": \"/docs/rest-api\"\n      }}>{`here`}</a>{`.`}</p>\n    <p>{`Some of the\noriginal vision for the collection of endpoints under `}<strong parentName=\"p\">{`/api/v1`}</strong>{` was originally specified in\n`}<a parentName=\"p\" {...{\n        \"href\": \"https://github.com/apache/superset/issues/7259\"\n      }}>{`SIP-17`}</a>{` and constant progress has been\nmade to cover more and more use cases.`}</p>\n    <p>{`The API available is documented using `}<a parentName=\"p\" {...{\n        \"href\": \"https://swagger.io/\"\n      }}>{`Swagger`}</a>{` and the documentation can be\nmade available under `}<strong parentName=\"p\">{`/swagger/v1`}</strong>{` by enabling the following flag in `}<inlineCode parentName=\"p\">{`superset_config.py`}</inlineCode>{`:`}</p>\n    <pre><code parentName=\"pre\" {...{}}>{`FAB_API_SWAGGER_UI = True\n`}</code></pre>\n    <p>{`There are other undocumented `}{`[private]`}{` ways to interact with Superset programmatically that offer no\nguarantees and are not recommended but may fit your use case temporarily:`}</p>\n    <ul>\n      <li parentName=\"ul\">{`using the ORM (SQLAlchemy) directly`}</li>\n      <li parentName=\"ul\">{`using the internal FAB ModelView API (to be deprecated in Superset)`}</li>\n      <li parentName=\"ul\">{`altering the source code in your fork`}</li>\n    </ul>\n    <h3 {...{\n      \"id\": \"what-does-hours-offset-in-the-edit-dataset-view-do\"\n    }}>{`What Does Hours Offset in the Edit Dataset view do?`}</h3>\n    <p>{`In the Edit Dataset view, you can specify a time offset. This field lets you configure the\nnumber of hours to be added or subtracted from the time column.\nThis can be used, for example, to convert UTC time to local time.`}</p>\n\n    </MDXLayout>;\n}\n;\nMDXContent.isMDXComponent = true;\n      "],"sourceRoot":""}