{"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-4f3c3ff20112ea494a16.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 \"/Users/srinify/Documents/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 clint-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. 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":""}