{"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-bde7c76c5ab5fd38e596.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\": \"https://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":""}