通过命令行刷新流程输出文件

可以通过命令行运行流程以刷新流程输出,而不是从 Tableau Prep Builder 中运行流程。可以使用此方法一次运行一个流程。此选项在安装了 Tableau Prep Builder 的 Windows 和 Mac 计算机上都可用。

连接器限制:

  • JDBC 或 ODBC 连接器:从版本 2019.2.3 开始,包含这些连接器的流程可以通过命令行运行。
  • 云连接器:包含云连接器(例如 Google BigQuery)的流程无法通过命令行运行。作为替代,请手动运行流程,或者在 Tableau ServerTableau Online 中使用 Tableau Prep Conductor 按计划运行流程。有关详细信息,请参见使流程数据保持最新

对于 Windows 计算机,您也可以使用 Windows 任务计划程序来计划此过程。有关详细信息,请参见 Microsoft 联机帮助中的任务计划程序(Link opens in a new window)

当您通过命令行运行流程时,Tableau Prep Builder 将使用 Tableau Prep Builder 中指定的输出步骤设置刷新流程的所有输出。有关如何指定输出位置的信息,请参见创建和发布数据提取及数据源(Link opens in a new window)。有关设置写入选项(版本 2020.2.1 及更高版本)的信息,请参见配置写入选项

运行流程之前

若要通过命令行运行流程,您需要运行流程的计算机上的管理员权限,并且将需要以下信息:

  • Tableau Prep Builder 的安装路径。

  • 如果连接到数据库并将输出文件发布到服务器或数据库(版本 2020.3.1 及更高版本),则需要创建一个包含所有必需凭据的凭据 .json 文件。

  • Tableau 流程 (.tfl) 文件所在的路径。

凭据 .json 文件要求

注意:如果流程连接到并输出至本地文件、网络共享上存储的文件或使用 Windows 身份验证 (SSPI) 的输入文件,则不需要凭据 .json 文件。有关 Windows 身份验证的详细信息,请参见 Microsoft 联机帮助中的 SSPI 模型(Link opens in a new window)

如果使用远程连接,Tableau Prep Builder 将使用流程文件和凭据 .json 文件中的信息来运行流程。例如,远程连接的数据库名称和输出文件的项目名称来自于流程,服务器名称和登录凭据来自于凭据 .json 文件。

  • 如果计划重用数据,请将其放在不会被 Tableau Prep Builder 安装过程覆盖的文件夹中。
  • 如果要运行连接到数据库文件、已发布数据源、将输出发布到服务器的流程或将输出发布到数据库(版本 2020.3.1 及更高版本),则 .json 文件必须包括连接到这些位置所需的凭据。
  • 流程中指定的凭据和 .json 文件中包括的凭据必须匹配,否则流程将无法运行。
  • 运行该过程时,主机名、端口和用户名用于在 Tableau 流程文件 (.tfl) 中查找匹配的连接,并在运行该过程之前更新。“端口 ID”和“站点 ID”是可选的(如果连接不需要此信息)。
  • 如果连接到已发布数据源,请在输入连接中包括主机名、连接 URL 和端口(对于 http 为 80,对于 https 为 443)。需要主机名以在 Tableau 流程文件 (.tfl) 中查找匹配的连接,并且内容 URL 和端口用于建立与服务器的连接。

  • 如果连接到 Tableau Online,请在要连接到的 pod 的输入连接中包括端口(80 或 443)。有关 Tableau Online 的详细信息,请参见 Tableau Online 帮助中的 Tableau Bridge 与 Tableau Online 的连接(Link opens in a new window)

根据您的 Tableau Prep Builder 版本,您的凭据信息的格式可能会不同。单击下面的选项卡可查看适用于您的 Tableau Prep Builder 版本的凭据格式。

根据您的连接,包括服务器或数据库凭据或者两者。当流程连接并输出到同一服务器或数据库时,您只需要在 .json 文件中包含一个块。如果连接到使用不同凭据的服务器或数据库,请使用逗号分隔数组。

服务器连接 数据库连接

连接块名称:“tableauServerConnections”

在数组中包括以下数据:

  • serverUrl(服务器名称)
  • contentUrl(站点 ID)。此信息出现在 Tableau Server 或 Tableau Online URL 中的 /site/ 之后。例如“https://my.server/#/site/mysite”,设置 "contentUrl": "mysite"。))
  • port(端口 ID)
  • username
  • password

连接块名称:“databaseConnections”

在数组中包括以下数据:

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

注意:服务器连接的 .json 文件中始终需要 ContentUrl。如果连接到默认站点(例如“https://my.server/#/site/”,请将 ContentUrl 设置为空白。例如,"contentUrl": ""

示例

此部分显示可以使用凭据 .json 要求创建的凭据文件的不同示例。

连接到服务器连接

此示例显示一个 .json 凭据文件,该文件连接并输出到使用相同凭据的服务器连接:

{
 "tableauServerConnections":[
   {
    "serverUrl":"https://my.server",
    "contentUrl": "mysite",
    "port":443,
    "username": "jsmith",
    "password": "passw0rd$"
   }
 ]
}				

连接到服务器连接和数据库连接输出

此示例显示一个 .json 凭据文件,该文件连接到服务器连接并输出到数据库连接:

{
 "tableauServerConnections":[
   {
    "serverUrl":"https://my.server",
    "contentUrl": "mysite",
    "port":443,
    "username": "jsmith",
    "password": "passw0rd$"
   }
],
 "databaseConnections":[
   {
    "hostname":"example123.redshift.amazonaws.com",
    "port":"5439",
    "username":"jsmith",
    "password":"p@s$w0rd!"
   }
 ]
}

连接并输出到不同的数据库连接

此示例显示一个 .json 凭据文件,该文件连接并输出到不同的数据库连接:

{
 "databaseConnections":[
   {
    "hostname":"example123.redshift.amazonaws.com",
    "port": "5439",
    "username": "jsmith",
    "password": "p@s$w0rd!"
   },
   {
    "hostname":"mysql.mydb.tsi.lan",
    "port": "3306",
    "username": "jsmith",
    "password": "mspa$$w0rd"
   }
 ]
}			

为输入和输出连接输入数组。

注意:如果使用 Tableau Prep Builder 版本 2018.2.2 至 2018.3.1,则始终包括“inputConnections”和“outputConnections”数组,即使流程不为输入或输出使用远程连接。只需将这些数组保留为空白。如果使用 Tableau Prep Builder 版本 2018.3.2 及更高版本,则无需包括空白数组。

输入连接 输出连接
  • hostname(服务器名称)
  • contentUrl(已发布数据源始终需要。有关说明,请参见“输出连接”
  • port(端口 ID)
  • username
  • password
  • serverUrl
  • contentUrl(站点 ID)。此信息出现在 Tableau Server 或 Tableau Online URL 中的 /site/ 之后。例如“https://my.server/#/site/mysite”,设置 "contentUrl": "mysite"。)
  • username
  • password

示例

此部分显示可以使用凭据 .json 要求创建的凭据文件的两个不同示例。

连接到已发布数据源

此示例显示一个 .json 凭据文件,该文件连接到已发布数据源并将数据输出到包含站点 ID 的服务器

注意:如果 inputConnection 或 outputConnection 使用“默认”站点,例如“https://my.server/#/site/”,请将 ContentUrl 设置为空白。例如,"contentUrl": ""

{ 
  "inputConnections":[
    {
     "hostname":"https://my.server",
     "contentUrl": "mysite",
     "port":443,								
     "username": "jsmith",
     "password": "passw0rd$"
    }
 ],
  "outputConnections":[
    {
     "serverUrl":"https://my.server",
     "contentUrl":"mysite",
     "username":"jsmith",
     "password":"passw0rd$"
    }
 ]
}

连接到两个数据库

此示例显示一个 .json 凭据文件,该文件连接到 MySQL 和 Oracle,并将数据输出到包含站点 ID 的服务器。

{ 
  "inputConnections":[
    {
     "hostname":"mysql.example.lan",
     "port":1234,
     "username": "jsmith",				
     "password": "passw0rd"
  },
    {
     "hostname":"Oracle.example.lan",
     "port":5678,
     "username": "jsmith",				
     "password": "passw0rd" 
  }
], 
  "outputConnections":[
    {
     "serverUrl":"http://my.server",
     "contentUrl":"mysite",
     "username":"jsmith",
     "password":"passw0rd$"
    } 
  ]
}

创建凭据文件的相关提示

为了避免在运行流程时出现错误,请确保凭据文件遵循以下准则:

  • 如果使用 Tableau Prep Builder 版本 2018.2.2 至 2018.3.1,则始终包括“inputConnections”和“outputConnections”数组,即使流程不为输入或输出使用远程连接。只需将这些数组保留为空白。

    如果使用 Tableau Prep Builder 版本 2018.3.2 及更高版本,则无需包括空白数组。

    • 没有远程输入连接?在 .json 文件的顶部包括此语法

      {
       "inputConnections":[
        ],
    • 没有远程输出连接?在 .json 文件的底部包括此语法

    • "outputConnections":[
        ]
      }
  • 输入连接没有端口 ID,或者在服务器名称中指定了端口。

    如果连接没有端口 ID,请不要 .json 文件中包括 "port":xxxx, .引用,甚至不要包括 "port": ""。 如果端口 ID 包含在服务器名称中,请在主机名中包括端口 ID。例如,"hostname": "mssql.example.lan,1234"

  • 引用 "serverUrl": 时,不要在地址结尾包括“/”。例如,使用此 "serverUrl": "http://server",而不是此 "serverUrl": "http://server/"

  • 如果有多个输入或输出连接,请为文件中的每个连接包括凭据。

  • 如果连接到已发布的数据源,请确保在输入连接中包括 hostname 和 contentUrl。

运行流程

重要提示:下面的示例将“Tableau Prep”版本 2019.1.2 的名称更改为“Tableau Prep Builder”。如果您使用的是产品的更低版本,请改用“Tableau Prep”。

  1. 以管理员身份打开命令提示符或终端命令提示符 (MacOS)。

  2. 使用如下所示语法运行以下命令之一。

    • 流程连接到本地文件或网络共享上存储的文件,并发布至本地文件、网络共享上存储的文件,或使用 Windows 身份验证:

      注意:如果连接到或输出至网络共享上存储的文件,请为路径使用 UNC 格式:\\服务器\路径\文件名。它不能通过密码保护。

      Windows

                                           "\[Tableau Prep Builder install location]\Tableau Prep Builder <version>\scripts"\tableau-prep-cli.bat -t "path\to\[your flow file name].tfl"
                                      

      Mac

                                          /Applications/Tableau\ Prep\ Builder\ [Tableau Prep Builder version].app/Contents/scripts/./tableau-prep-cli -t path/to/[your flow file name].tfl
                                      
    • 流程连接到数据库或发布至服务器:

      Windows

                                          "\[Tableau Prep Builder install location]\Tableau Prep Builder <version>\scripts"\tableau-prep-cli.bat -c "path\to\[your credential file name].json" -t "path\to\[your flow file name].tfl"
                                      

      Mac

                                          /Applications/Tableau\ Prep\ Builder\ [Tableau Prep Builder version].app/Contents/scripts/./tableau-prep-cli -c path/to/[your credential file name].json -t path/to/[your flow file name].tfl
                                      
    • 流程文件或凭据文件存储在网络共享上(为路径使用 UNC 格式:\\服务器\路径\文件名):

      Windows

                                          "\[Tableau Prep Builder install location]\Tableau Prep Builder <version>\scripts"\tableau-prep-cli.bat -c "\server\path\[your credential file name].json" -t "\server\path\[your flow file name].tfl"
                                      

      Mac:将网络共享映射到 Finder 中的 /Volumes 以使其保持持久,然后使用 /Volumes/.../[your file] 指定路径:

                                          /Applications/Tableau\ Prep\ Builder\ [Tableau Prep Builder version].app/Contents/scripts/./tableau-prep-cli -c /Volumes/.../[your credential file name].json -t path/to/[your flow file name].tfl
                                      

有关常见错误和解决方法,请参见使用命令行运行流程时的常见错误

在启用增量刷新的情况下运行流程(版本 2020.2.1 及更高版本)

如果在服务器上未启用 Tableau Prep Conductor 来计划流程运行,则可以通过命令行中使用增量刷新来运行流程。只需在命令行中包括 --incrementalRefresh 参数,如下例所示。

Windows

                     "\[Tableau Prep Builder install location]\Tableau Prep Builder <version>\scripts"\tableau-prep-cli.bat --incrementalRefresh -t "path\to\[your flow file name].tfl"
                

Mac

                    /Applications/Tableau\ Prep\ Builder\ [Tableau Prep Builder version].app/Contents/scripts/./tableau-prep-cli --incrementalRefresh -t path/to/[your flow file name].tfl
                

如果流程中的输入步骤启用了增量刷新,并且增量刷新参数配置正确,Tableau Prep Builder 将执行以下操作:

  • 流程中启用了增量刷新的所有输入都将使用增量刷新运行所有相应的输出。
  • 如果流程中没有输入启用了增量刷新,则将使用完全刷新运行所有输出。一条消息将显示刷新方法详细信息。
  • 如果流程中的某些输入启用了增量刷新,则相应的输出将使用增量刷新运行。其他输出将使用完全刷新运行,一条消息将显示刷新方法详细信息。

有关配置流程以使用增量刷新的详细信息,请参见使用增量刷新来刷新流程数据

命令选项

如果要查看帮助选项,请在命令行中包括 -h

命令选项 说明 说明
-c, --connections <arg> 凭据文件的连接路径。 需要凭据文件所在的路径。
-d, --debug 调试流程进程。 包括此选项以查看更多信息,来帮助调试刷新流程的问题。日志文件存储位置:My Tableau Prep Builder Repository\Command Line Repository\Logs
-dsv, --disableSslValidation 禁用 SSL 验证 (MacOS) 使用 MacOS 上的命令行运行流程时,可能会显示一个对话框,询问钥匙串用户和密码。从 Tableau Prep Builder 版本 2019.3.2 开始,您可以传入此附加参数来禁用此钥匙串对话框。例如:/Applications/Tableau\ Prep\ Builder\ [Tableau Prep Builder version].app/Contents/scripts/./tableau-prep-cli -dsv -c path/to/[your credential file name].json -t path/to/[your flow file name].tfl
-h, --help 查看语法选项的帮助。

此帮助选项或语法错误显示以下信息:

usage: tableau-prep-cli [-c <arg>] [-d]  [-h] [-t <arg>]
-c,--connections <arg>        Path to a file with all connection information
-d,--debug                    This option is for debugging
-dsv,--disableSslValidation   Disable SSL validation
-h,--help                     Print usage message
-inc,--incrementalRefresh     Run incremental refresh for all outputs that are configured to support it
-t,--tflFile <arg>            The Tableau Prep Builder flow file	
-inc, --incrementalRefresh 为配置为使用它的所有输出运行增量刷新。

包括此选项,以便为配置为使用它的所有输入运行增量刷新。增量刷新使 Tableau Prep Builder 能够仅检索和处理新行,而不是流程中的所有行。

输入步骤上的增量刷新配置设置确定哪些流程输出可以增量方式运行。所有其他输出将使用完全刷新运行,一条消息将显示刷新方法详细信息。

有关使用增量刷新运行流程的详细信息,请参见使用增量刷新来刷新流程数据

-t, --tflFile <arg> .tfl 流程文件 需要 .tfl 流程文件所在的路径。

语法示例

下面的命令行显示使用以下条件运行流程的四个不同示例:

  • Tableau Prep Builder 版本:2020.3.1

    重要信息:以下示例将 Tableau Prep 版本 2019.1.2 的名称更改为 Tableau Prepare Builder。如果您使用的是产品的更低版本,请改用“Tableau Prep”。

  • 流程名称:Flow1.tfl

  • 流程位置:C:\Users\jsmith\Documents\My Tableau Prep Builder Repository\Flows

  • 凭据文件名:Flow 1.json

  • 凭据文件位置:C:\Users\jsmith\Desktop\Flow credentials

  • 存储在网络共享上的凭据文件位置:\tsi.lan\files\Flow credentials

流程连接到并发布至本地文件

Windows

                    "\Program Files\Tableau\Tableau Prep Builder 2020.3.1\scripts"\tableau-prep-cli.bat -t "\C:\Users\jsmith\Documents\My Tableau Prep Builder Repository\Flows\Flow1.tfl"
                

Mac

                    /Applications/Tableau\ Prep\ Builder\ 2020.3.1.app/Contents/scripts/./tableau-prep-cli -t /Users/jsmith/Documents/My\ Tableau\ Prep\ Builder\ Repository/Flows.Flow1.tfl
                

流程连接并发布到本地文件,并为增量刷新使用短形式

Windows

                    "\Program Files\Tableau\Tableau Prep Builder 2020.3.1\scripts"\tableau-prep-cli.bat -inc -t "\C:\Users\jsmith\Documents\My Tableau Prep Builder Repository\Flows\Flow1.tfl"
                

Mac

                    /Applications/Tableau\ Prep\ Builder\ 2020.3.1.app/Contents/scripts/./tableau-prep-cli -inc -t /Users/jsmith/Documents/My\ Tableau\ Prep\ Builder\ Repository/Flows.Flow1.tfl
                

流程连接到数据库并发布至服务器

Windows

                    "\Program Files\Tableau\Tableau Prep Builder 2020.3.1\scripts"\tableau-prep-cli.bat -c "\C:\Users\jsmith\Desktop\Flow credentials\Flow1.json" -t "\C:\Users\jsmith\Documents\My Tableau Prep Builder Repository\Flows\Flow1.tfl"
                

Mac

                    /Applications/Tableau\ Prep\ Builder\ 2020.3.1.app/Contents/scripts/./tableau-prep-cli -c /Users/jsmith/Desktop/Flow\ credentials/Flow1.json -t /Users/jsmith/Documents/My\ Tableau\ Prep\ Builder\ Repository/Flows.Flow1.tfl
                

流程发布至服务器,并且凭据文件存储在网络共享上

Windows

                    "\Program Files\Tableau\Tableau Prep Builder 2020.3.1\scripts"\tableau-prep-cli.bat -c "\\tsi.lan\files\Flow credentials\Flow1.json" -t "\C:\Users\jsmith\Documents\My Tableau Prep Builder Repository\Flows\Flow1.tfl"
                

Mac

                    /Applications/Tableau\ Prep\ Builder\ 2020.3.1.app/Contents/scripts/./tableau-prep-cli -c /Volumes/files/Flow\ credentials/Flow1.json -t /Users/jsmith/Documents/My\ Tableau\ Prep\ Builder\ Repository/Flows.Flow1.tfl
                
感谢您的反馈! 提交反馈时出错。请重试,或向我们发送消息