{"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-cd5740b9d49c6c1af64d.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. 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":""}