嗨,我是新来的Tableau服务器和AWS EC2。
我正在尝试编写一个python脚本来连接到AWS EC2数据库,使用tableau中的超级api将表输出到.hyper文件中,然后将其推到tableau服务器中。
我到处找过,但没有结果。目前还不确定如何连接到AWS EC2数据库。到目前为止,我只在youtube上找到一个例子,展示了如何连接到MSAccess数据库。https://www.youtube.com/watch?v=0-Hd35A3pN0
用于超级api示例的github没有AWS EC2所需的语法示例。https://github.com/tableau/hyper-api-samples
希望知道该怎么做的人能给我一些启发。
发布于 2021-12-13 23:23:26
您可以从psycopg2开始,以建立与redshift的连接。这完全独立于任何Tableau函数。与psycopg2连接后,可以运行sql并使用pandas根据结果创建csv文件。然后您将使用tableauhyperapi run_create_hyper_file_from_csv()函数来创建实际的超级文件。在此之后,您将希望使用tableauserverclient发布到服务器或Tableau Online。
红移大熊猫()
import psycopg2
import pandas as pd
REDSHIFT_USER = ''
REDSHIFT_PASSWORD = ''
REDSHIFT_HOST = ''
REDSHIFT_PORT = ''
REDSHIFT_DATABASE = ''
cnxn = psycopg2.connect(f"postgresql://{REDSHIFT_USER}:
{REDSHIFT_PASSWORD}@{REDSHIFT_HOST}:{REDSHIFT_PORT}/{REDSHIFT_DATABASE}")
sql = ''' <full sql statement> '''
df = pd.read_sql(sql, cnxn)
del cnxn
#df.head()
df.to_csv('yourFile.csv', index=False, encoding='utf-8', mode='w')tableauhyperapi -:我使用这个精确示例的一个版本从一个csv创建一个超文件。https://github.com/tableau/hyper-api-samples/blob/main/Tableau-Supported/Python/create_hyper_file_from_csv.py
发布的tableauserverclient:https://tableau.github.io/server-client-python/docs/api-ref#workbooks
然后,所有这些都可以在不使用Tableau后台资源的情况下运行和发布。如果您在hyperapi或服务器客户端设置中遇到任何问题,请告诉我。
https://stackoverflow.com/questions/70219404
复制相似问题