使用脚本在本地执行Tableau Prep流程

(喜乐君项目验证分享)

背景说明:

Tableau Prep Builder可以在线定时计划运行,并写入数据库,不过,如果数据是本地文件,特别是需要大量的通配符并集操作(server端不支持通配符并集csv),就只能通过本地运行流程了。

但是,如果每次都要打开流程,就要漫长的加载,而且容易误修改文件,导致更大的问题。为此,能否通过脚本命令,在不打开flow文件的前提下,

在Windows server本地,按需执行prep流程,在不打开Prep文件的前提下,执行Prep流程,读取csv文件,自动合并、处理,并写入到oracle数据库中。

  1. 前提准备
  • 凭证json(包含tableau server的地址和用户信息,以及数据来源、写入地址)
  • 自动脚本文件json(包含prep文件路径及名称,凭证的路径和名称)
  1. 凭证文件

如果prep文件只连接tableau server服务器,那么只需要”tableauServerConnections”部分;

如果prep还需要连接数据库,读取或者写入文件,则还需要在”databaseConnections”提供数据库地址,比如这里使用了oracle地址,对应端口是1521.

“tableauServerConnections”在数组中包括以下数据:

  • serverUrl(服务器名称)
  • contentUrl(站点 ID)
  • port(端口 ID)
  • username
  • password

“databaseConnections”在数组中包括以下数据:

  • hostname(服务器名称)
  • port(端口 ID)
  • username
  • password

如是是一个完整的例子。

{
 "tableauServerConnections":[
   {
    "serverUrl":"http://10.131.128.24/",
    "contentUrl": "",  
    "port":80,
    "username": "tableau_user",
    "password": "password"
   }
 ],
 "databaseConnections":[
   {
    "hostname":"10.131.XXX.XXX",
    "port":"1521",
    "username":"oracle_user",
    "password":"oracle_password"
   }
 ]
}

其他特殊情形,比如包含R或者python脚本,有多个数据库连接,可以参考附件的官网链接,有更完整说明。

3、自动脚本文件

脚本文件是一行命令,可以放在命令中。主要包含吃如下的信息。

  • #流程名称: 1.2-YS+SL+sfe_追加append_CSV-TO-HYPER_2021Q4~.tfl
  • #流程位置: C:\Users\sfe\Desktop\Tableau_BI\1_csv-to-database
  • #凭据文件名: flow-credi.json
  • #凭据文件位置: C:\Users\sfe\Desktop\Tableau_BI
"C:\Program Files\Tableau\Tableau Prep Builder 2021.4\scripts"\tableau-prep-cli.bat -c "\C:\Users\sfe\Desktop\Tableau_BI\flow-credi.json" -t "\C:\Users\sfe\Desktop\Tableau_BI\1_csv-to-database\1.2-YS+SL+sfe_append_CSV-TO-HYPER_2021Q4~.tfl"

4、执行脚本文件的多个方式

可以直接在终端运行上述的命令(我暂时使用的这个方法)

当然,也可以参考微软的文档,写一个bat文件,不过建议高手操作,如下暂时未经过验证。 

@ECHO OFF  #从本行开始关闭回显。一般批处理第一行都是这个
ECHO start_cmd。 
"C:\Program Files\Tableau\Tableau Prep Builder 2021.4\scripts"\tableau-prep-cli.bat -c "\C:\Users\sfe\Desktop\Tableau_BI\flow-credi.json" -t "\C:\Users\sfe\Desktop\Tableau_BI\1_csv-to-database\1.2-YS+SL+sfe_append_CSV-TO-HYPER_2021Q4~.tfl"
PAUSE
@   #关闭单行回显
echo off  #从下一行开始关闭回显
@echo off  #从本行开始关闭回显。一般批处理第一行都是这个
echo on #从下一行开始打开回显
echo #显示当前是 echo off 状态还是 echo on 状态
echo. #输出一个”回车换行”,空白行

  1. 输出结果

输出脚本:

C:\Windows\system32>"C:\Program Files\Tableau\Tableau Prep Builder 2021.4\scripts"\tableau-prep-cli.bat -c "\C:\Users\sfe\Desktop\Tableau_BI\flow-credi.json" -t "\C:\Users\sfe\Desktop\Tableau_BI\1_csv-to-database\1.2-YS+SL+sfe_append_CSV-TO-HYPER_2021Q4~.tfl"
JAVA_HOME is set to : C:\Program Files\Tableau\Tableau Prep Builder 2021.4\scripts\..\Plugins\jre temporarily
The connection file is in V2 format.
Preparing to run the flow : C:\Users\sfe\Desktop\Tableau_BI\1_csv-to-database\1.2-YS+SL+sfe_append_CSV-TO-HYPER_2021Q4~.tfl
Loading the flow.
Creating temp directory at C:\Users\sfe\AppData\Local\Temp\prep-cli-11889942630544484103
Loaded the flow.
Updated the connections with supplied credentials.
Established input connections with remote data sources.
No server connections detected in input connections.
Starting to establish a server connection for publishing extract.
Signed in successfully as sfe to site Default ()
Checking the flow document for errors.
Flow Document has no errors.
Preparing to execute the flow.
Flow Execution Status: Running
Flow Execution Status: Running
Flow Execution Status: Running
Flow Execution Status: Running
Flow Execution Status: Running
Flow Execution Status: Running
Flow Execution Status: Running
Flow Execution Status: Running
Flow Execution Status: Running
Flow Execution Status: Running
Flow Execution Status: Running
Flow Execution Status: Running
Flow Execution Status: Running
Flow Execution Status: Running
Flow Execution Status: Running
Flow Execution Status: Running
Flow Execution Status: Running
Flow Execution Status: Running
Flow Execution Status: Running
Flow Execution Status: Running
Flow Execution Status: Running
Flow Execution Status: Running
Flow Execution Status: Finished
Finished running the flow successfully.

喜乐君

@Jan 25, 2022

参考文档:

发布者:喜乐君

喜乐君 | Tableau Partner,Tableau Desktop and Server QA Certification

发表评论

Fill in your details below or click an icon to log in:

WordPress.com 徽标

您正在使用您的 WordPress.com 账号评论。 注销 /  更改 )

Twitter picture

您正在使用您的 Twitter 账号评论。 注销 /  更改 )

Facebook photo

您正在使用您的 Facebook 账号评论。 注销 /  更改 )

Connecting to %s

%d 博主赞过: