[英]Apache Superset not loading table records/columns
我正在嘗試在 Superset 中添加一個表格。 其他表被正確添加,這意味着列被 Superset 正確獲取。 但是對於我的表booking_xml
,它不會加載任何列。
添加此表后,當我單擊表名進行瀏覽時,出現以下錯誤
Empty query?
Traceback (most recent call last):
File "/home/superset/superset_venv/lib/python3.8/site-packages/superset/viz.py", line 473, in get_df_payload
df = self.get_df(query_obj)
File "/home/superset/superset_venv/lib/python3.8/site-packages/superset/viz.py", line 251, in get_df
self.results = self.datasource.query(query_obj)
File "/home/superset/superset_venv/lib/python3.8/site-packages/superset/connectors/sqla/models.py", line 1139, in query
query_str_ext = self.get_query_str_extended(query_obj)
File "/home/superset/superset_venv/lib/python3.8/site-packages/superset/connectors/sqla/models.py", line 656, in get_query_str_extended
sqlaq = self.get_sqla_query(**query_obj)
File "/home/superset/superset_venv/lib/python3.8/site-packages/superset/connectors/sqla/models.py", line 801, in get_sqla_query
raise Exception(_("Empty query?"))
Exception: Empty query?
ERROR:superset.viz:Empty query?
但是,當我嘗試使用 SQL 編輯器探索它時,它會正確加載。 從表格頁面和 SQL 編輯器加載時,我發現 URL 中的 form_data 參數存在差異。
SQL 實驗室視圖中的 URL:
form_data={"queryFields":{"groupby":"groupby","metrics":"metrics"},"datasource":"192__table","viz_type":"table","url_params":{},"time_range_endpoints":["inclusive","exclusive"],"granularity_sqla":"created_on","time_grain_sqla":"P1D","time_range":"Last+week","groupby":[],"metrics":["count"],"all_columns":[],"percent_metrics":[],"order_by_cols":[],"row_limit":10000,"order_desc":true,"adhoc_filters":[],"table_timestamp_format":"smart_date","color_pn":true,"show_cell_bars":true}
數據集列表中的 URL:
form_data={"queryFields":{"groupby":"groupby","metrics":"metrics"},"datasource":"191__table","viz_type":"table","url_params":{},"time_range_endpoints":["inclusive","exclusive"],"time_grain_sqla":"P1D","time_range":"Last+week","groupby":[],"all_columns":[],"percent_metrics":[],"order_by_cols":[],"row_limit":10000,"order_desc":true,"adhoc_filters":[],"table_timestamp_format":"smart_date","color_pn":true,"show_cell_bars":true}
從數據集列表加載時,/explore_json/ 給出 400 Bad Request。 超集版本 == 0.37.1,Python 版本 == 3.8
我能夠找到答案。 Superset 保存必須連接的表的詳細信息/元數據。 因此,正如您在相關圖像中看到的那樣,我的表有一個很長的數據類型。 Superset 將其保存為長度為 32 的 varchar。因此,數據庫不允許將此值輸入數據庫。 這是導致錯誤的原因。 由於即使在數據源中添加表后也沒有獲取任何記錄。 我所做的是增加列數據類型的長度。
ALTER TABLE table_columns MODIFY type varchar(200)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.