{"version":3,"sources":["webpack:///./src/pages/docs/frequently-asked-questions-page.mdx"],"names":["_frontmatter","MDXLayout","DefaultLayout","MDXContent","components","props","mdxType","isMDXComponent"],"mappings":"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","file":"component---src-pages-docs-frequently-asked-questions-page-mdx-7bf50bd09e2a03d39896.js","sourcesContent":["import * as React from 'react'\n  /* @jsx mdx */\nimport { mdx } from '@mdx-js/react';\n/* @jsx mdx */\n\nimport DefaultLayout from \"/Users/max/code/superset/docs/node_modules/gatsby-theme-docz/src/base/Layout.js\";\nexport const _frontmatter = {};\n\nconst makeShortcode = name => function MDXDefaultShortcode(props) {\n  console.warn(\"Component \" + name + \" was not imported, exported, or provided by MDXProvider as global scope\");\n  return <div {...props} />;\n};\n\nconst MDXLayout = DefaultLayout;\nexport default function MDXContent({\n  components,\n  ...props\n}) {\n  return <MDXLayout {...props} components={components} mdxType=\"MDXLayout\">\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 `}\n      <em {...{\n        \"parentName\": \"p\"\n      }}>{`GROUP BY`}</em>\n      {` where possible as Superset\nwill do its own `}\n      <em {...{\n        \"parentName\": \"p\"\n      }}>{`GROUP BY`}</em>\n      {` 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`}\n      <a {...{\n        \"href\": \"/docs/installation/building-custom-viz-plugins\",\n        \"parentName\": \"p\"\n      }}>{`Building Custom Viz Plugins`}</a>\n      {`.`}</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 `}\n      <a {...{\n        \"href\": \"/docs/creating-charts-dashboards/exploring-data\",\n        \"parentName\": \"p\"\n      }}>{`here`}</a>\n      {` 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 {...{\n        \"parentName\": \"pre\"\n      }}>{`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 {...{\n        \"parentName\": \"pre\"\n      }}>{`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 `}\n      <strong {...{\n        \"parentName\": \"p\"\n      }}>{`superset_config.py`}</strong>\n      {`:`}</p>\n    <pre><code {...{\n        \"parentName\": \"pre\"\n      }}>{`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 `}\n      <a {...{\n        \"href\": \"www.mapbox.com\",\n        \"parentName\": \"p\"\n      }}>{`Mapbox.com`}</a>\n      {`, obtain an API key, and add it\nto `}\n      <strong {...{\n        \"parentName\": \"p\"\n      }}>{`superset_config.py`}</strong>\n      {` at the key MAPBOX_API_KEY:`}</p>\n    <pre><code {...{\n        \"parentName\": \"pre\"\n      }}>{`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 `}\n      <strong {...{\n        \"parentName\": \"p\"\n      }}>{`Filter Box`}</strong>\n      {` widget, build a slice, and add it to your dashboard.`}</p>\n    <p>{`The `}\n      <strong {...{\n        \"parentName\": \"p\"\n      }}>{`Filter Box`}</strong>\n      {` 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 `}\n      <strong {...{\n        \"parentName\": \"p\"\n      }}>{`Date Filter`}</strong>\n      {`, 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`}\n      <inlineCode {...{\n        \"parentName\": \"p\"\n      }}>{`filter_immune_slices`}</inlineCode>\n      {` key, that receives an array of sliceIds that should never be affected by any\ndashboard level filtering.`}</p>\n    <pre><code {...{\n        \"parentName\": \"pre\"\n      }}>{`{\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 `}\n      <inlineCode {...{\n        \"parentName\": \"p\"\n      }}>{`filter_immune_slice_fields`}</inlineCode>\n      {` 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 `}\n      <inlineCode {...{\n        \"parentName\": \"p\"\n      }}>{`__time_range`}</inlineCode>\n      {` 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 `}\n      <inlineCode {...{\n        \"parentName\": \"p\"\n      }}>{`timed_refresh_immune_slices`}</inlineCode>\n      {` key to the dashboard JSON\nMetadata field:`}</p>\n    <pre><code {...{\n        \"parentName\": \"pre\"\n      }}>{`{\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 `}\n      <inlineCode {...{\n        \"parentName\": \"p\"\n      }}>{`stagger_refresh`}</inlineCode>\n      {` to false and modify the stagger period by setting `}\n      <inlineCode {...{\n        \"parentName\": \"p\"\n      }}>{`stagger_time`}</inlineCode>\n      {` to a\nvalue in milliseconds in the JSON Metadata field:`}</p>\n    <pre><code {...{\n        \"parentName\": \"pre\"\n      }}>{`{\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 {...{\n        \"parentName\": \"p\"\n      }}>{`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 `}\n      <inlineCode {...{\n        \"parentName\": \"p\"\n      }}>{`~/.superset/superset.db`}</inlineCode>\n      {`. SQLite is\nknown to `}\n      <a {...{\n        \"href\": \"https://www.sqlite.org/lockingv3.html\",\n        \"parentName\": \"p\"\n      }}>{`not work well if used on NFS`}</a>\n      {` due to broken file\nlocking implementation on NFS.`}</p>\n    <p>{`You can override this path using the `}\n      <strong {...{\n        \"parentName\": \"p\"\n      }}>{`SUPERSET_HOME`}</strong>\n      {` environment variable.`}</p>\n    <p>{`Another workaround is to change where superset stores the sqlite database by adding the following in\n`}\n      <inlineCode {...{\n        \"parentName\": \"p\"\n      }}>{`superset_config.py`}</inlineCode>\n      {`:`}</p>\n    <pre><code {...{\n        \"parentName\": \"pre\"\n      }}>{`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`}\n      <a {...{\n        \"href\": \"/docs/installation/configuring-superset\",\n        \"parentName\": \"p\"\n      }}>{`here`}</a>\n      {`.`}</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 `}\n      <strong {...{\n        \"parentName\": \"p\"\n      }}>{`Menu -> Sources -> Tables`}</strong>\n      {`, click the edit icon next to the table\nwho’s schema has changed, and hit `}\n      <strong {...{\n        \"parentName\": \"p\"\n      }}>{`Save`}</strong>\n      {` from the `}\n      <strong {...{\n        \"parentName\": \"p\"\n      }}>{`Detail`}</strong>\n      {` 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`}\n      <a {...{\n        \"href\": \"https://github.com/dpgaspar/Flask-AppBuilder/blob/master/examples/oauth/config.py\",\n        \"parentName\": \"p\"\n      }}>{`configuration example`}</a>\n      {`.`}</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 `}\n      <strong {...{\n        \"parentName\": \"p\"\n      }}>{`Source -> Tables`}</strong>\n      {` page. Simply check the box next to the\ntables you want the schema refreshed, and click `}\n      <strong {...{\n        \"parentName\": \"p\"\n      }}>{`Actions -> Refresh Metadata`}</strong>\n      {`.`}</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 `}\n      <inlineCode {...{\n        \"parentName\": \"p\"\n      }}>{`label_colors`}</inlineCode>\n      {` key.`}</p>\n    <pre><code {...{\n        \"parentName\": \"pre\"\n      }}>{`{\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 `}\n      {`[insert database engine here]`}\n      {`?`}</h3>\n    <p>{`The `}\n      <a {...{\n        \"href\": \"/docs/databases/installing-database-drivers\",\n        \"parentName\": \"p\"\n      }}>{`Connecting to Databases section`}</a>\n      {` 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 `}\n      <a {...{\n        \"href\": \"https://docs.sqlalchemy.org/en/13/dialects/\",\n        \"parentName\": \"p\"\n      }}>{`SQLAlchemy dialect`}</a>\n      {` as well\nas a `}\n      <a {...{\n        \"href\": \"https://www.python.org/dev/peps/pep-0249/\",\n        \"parentName\": \"p\"\n      }}>{`DBAPI driver`}</a>\n      {` 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\n      <li {...{\n        \"parentName\": \"ul\"\n      }}>{`date-related SQL function that allow Superset to fetch different time granularities when running\ntime-series queries`}</li>\n\n\n      <li {...{\n        \"parentName\": \"ul\"\n      }}>{`whether the engine supports subqueries. If false, Superset may run 2-phase queries to compensate\nfor the limitation`}</li>\n\n\n      <li {...{\n        \"parentName\": \"ul\"\n      }}>{`methods around processing logs and inferring the percentage of completion of a query`}</li>\n\n\n      <li {...{\n        \"parentName\": \"ul\"\n      }}>{`technicalities as to how to handle cursors and connections if the driver is not standard DBAPI`}</li>\n\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\n      <li {...{\n        \"parentName\": \"ul\"\n      }}>{`aggregate data`}</li>\n\n\n      <li {...{\n        \"parentName\": \"ul\"\n      }}>{`apply filters`}</li>\n\n\n      <li {...{\n        \"parentName\": \"ul\"\n      }}>{`apply HAVING-type filters`}</li>\n\n\n      <li {...{\n        \"parentName\": \"ul\"\n      }}>{`be schema-aware, expose columns and types`}</li>\n\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 `}\n      <strong {...{\n        \"parentName\": \"p\"\n      }}>{`/api/v1`}</strong>\n      {` was originally specified in\n`}\n      <a {...{\n        \"href\": \"https://github.com/apache/incubator-superset/issues/7259\",\n        \"parentName\": \"p\"\n      }}>{`SIP-17`}</a>\n      {` and constant progress has been\nmade to cover more and more use cases.`}</p>\n    <p>{`The API available is documented using `}\n      <a {...{\n        \"href\": \"https://swagger.io/\",\n        \"parentName\": \"p\"\n      }}>{`Swagger`}</a>\n      {` and the documentation can be\nmade available under `}\n      <strong {...{\n        \"parentName\": \"p\"\n      }}>{`/swagger/v1`}</strong>\n      {` by enabling the following flag in `}\n      <inlineCode {...{\n        \"parentName\": \"p\"\n      }}>{`superset_config.py`}</inlineCode>\n      {`:`}</p>\n    <pre><code {...{\n        \"parentName\": \"pre\"\n      }}>{`FAB_API_SWAGGER_UI = True\n`}</code></pre>\n    <p>{`There are other undocumented `}\n      {`[private]`}\n      {` 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\n      <li {...{\n        \"parentName\": \"ul\"\n      }}>{`using the ORM (SQLAlchemy) directly`}</li>\n\n\n      <li {...{\n        \"parentName\": \"ul\"\n      }}>{`using the internal FAB ModelView API (to be deprecated in Superset)`}</li>\n\n\n      <li {...{\n        \"parentName\": \"ul\"\n      }}>{`altering the source code in your fork`}</li>\n\n    </ul>\n\n  </MDXLayout>;\n}\n;\nMDXContent.isMDXComponent = true;\n      "],"sourceRoot":""}