跳到主要内容

逐步示例 - 使用 Store 命令递增数据加载

在该页面上

逐步示例 - 使用 Store 命令递增数据加载

本逐步示例展示了如何使用 Qlik Sense SaaS 中的 Store 命令递增数据加载。

您可使用 Store 来创建 QVD文件并将该文件载入 DataFiles。例如,该数据可为仅能在有限时间内(例如当前日期之前的特定天数)从数据库获取的数据记录。可从您创建的 QVD 文件加载历史数据,并与可从源数据库获取的最新数据组合。然后可将最新数据插回到 QVD 文件。本示例展示了该用例。

您还可使用 Store 来存储您只希望存储一次的来自连接的数据,然后从数据库新增数据。这样可减少随后的数据加载次数,并减少数据库服务器、您的网络等的负载。本示例没有考虑该用例。但是,相同步骤将通常适用。

在本示例中,我们使用 Standard Search Twitter API 创建了连接,并搜索特定文本词语。搜索依据过去 7 天的推文进行匹配,7 天是 Twitter 施加的限制。在本示例中,Standard Search Twitter API 限制从 Twitter 数据库加载的数据量。

使用 Store,然后我们将 Twitter 数据表保存到 QVD 文件并将该文件载入 DataFiles。然后我们提出对于来自 Twitter 的最新数据的请求,并将数据和来自 QVD 文件的数据一起加载到我们的应用程序中。该数据被加载回 QVD 文件,由此递增 QVD 文件。

然后我们发布应用程序,再使用最新的数据加载我们发布的应用程序。

有关本示例中的任务和概念的更多信息,请参阅:

先决条件

  • 云应用中心 (Qlik Sense SaaS) 预订。
  • 用于使用 Twitter APITwitter 帐户。
  • 您应当知道如何在云应用中心内创建应用程序。有关详细信息,请参阅创建应用程序并添加数据
  • 您应当知道如何使用数据加载编辑器。有关详细信息,请参阅 使用数据加载编辑器

任务

完成本示例需要执行以下任务:

  1. 创建应用程序并连接至 Twitter
  2. 从 Twitter 选择数据
  3. 添加脚本语句来创建并通过 Twitter 数据递增 QVD 文件
  4. 运行脚本
  5. 设置数据加载计划

创建应用程序并连接至 Twitter

  1. 在您的云应用中心工作空间内创建应用程序。
  2. 打开脚本编辑器。在您新建应用程序时,会显示打开脚本编辑器的选项。您也可从数据加载编辑器访问脚本编辑器。
  3. 在右侧菜单的数据连接下,单击创建新连接。随即打开创建新连接窗口。
  4. 数据源下拉列表选择 Twitter 。随即打开验证窗口。
  5. 单击验证。随即打开 Twitter API 验证窗口。您可能需要在自己的浏览器中启用弹窗。
  6. 要授权 Qlik Web 连接器使用您的 Twitter 帐户,请输入您的 Twitter 凭据。
  7. 单击登录。随即打开 Twitter 窗口,显示访问代码。复制代码。
  8. Qlik Sense 验证窗口中,粘贴代码,然后单击验证。即会验证连接。
  9. 单击测试连接以确认已经创建的连接。
  10. 对连接命名,然后单击创建。即会创建连接,并打开数据加载编辑器。连接将添加至右侧菜单中的数据连接列表。

Twitter 选择数据

在您创建自己的连接之后,可选择您希望从 Twitter 加载的数据。

  1. 在脚本编辑器中为您的脚本添加一个新标签。
  2. 对标签命名。我们将标签命名为 New Data (Twitter)。将您的光标置于脚本编辑器窗口中。
  3. 在数据加载编辑器中,为您的 Twitter 连接单击选择数据

    选择要加载的数据窗口随即打开。

  4. 选择名为 Search 的表格,然后选择要搜索的术语。对于我们的示例,我们使用 "Kubernetes"。

     

    选择了搜索表的数据加载窗口

    Data load window with Search table selected.

  5. 单击预览数据。随即显示 Search 表格的数据字段。选择您要加载的字段。对于我们的示例,我们选择了以下字段:id、created_at、text、source 和 user_name。

     

    显示数据预览的数据加载窗口

    Data load window showing a preview of data.

  6. 单击插入脚本。脚本段将添加至数据加载编辑器中脚本编辑器内的新数据 (Twitter) 标签。

  7. 通过在 Load 语句上方添加行来命名表格。在我们的示例中,将其命名为 TwitterSearch

     

    您的标签看上去应当和以下截屏相似(不包括注释):

     

    数据加载编辑器中的新数据 (Twitter) 标签

    New data (Twitter) tab in the data load editor.

  8. 要验证您的数据加载是否有效,可单击顶部菜单中的加载数据。数据已加载。

     

    数据加载进度窗口

    Data load progress window.

如果需要,可以查看数据模型查看器中的表格和字段内的数据。您还可在自己的应用程序中创建表格来查看自己的当前数据。

添加脚本语句来创建并通过 Twitter 数据递增 QVD 文件

在您将自己的应用程序设置为从 Twitter 加载数据之后,可将该数据存储在 QVD 文件中。由于 Twitter Standard API 仅允许您拉取之前 7 天的数据,在加载数据后,我们的 QVD 最初将包含该数据。

  1. 在脚本编辑器中将新标签添加至您的脚本。
  2. 对标签命名。我们将标签命名为 Historical data (QVD)
  3. 在标签中添加以下脚本语句。注释 (//) 供参考。在您运行脚本时不会执行这些内容。

     

    备注: 如果您从 Firefox 进行复制和粘贴,可能需要先粘贴至另一文档中,例如 Word,才会在脚本编辑器内正确显示换行符。

     

    //测试 QVD 文件大小的方法。If the file does not exist returns <null> let size = FileSize('lib://DataFiles/AllTweets.qvd'); //将历史数据拉取范围设置为变量 LET vRollingDate = Today()-90;//如果文件存在并包含一些数据,则会执行 if 语句;//如果文件不存在,即文件为 null,则将跳过 if 语句 if not isnull(size) then TwitterSearch: LOAD * FROM ['lib://DataFiles/AllTweets.qvd'](qvd) //Twitter ID 是唯一的;确保仅添加新的推文 WHERE NOT EXISTS (Search.id) //从 QVD 文件加载过去 90 天的数据;//QVD 文件提供超出 Twitter 标准 API 7 天限制的历史数据。 //另外确保存储的递增的 QVD 文件不会增长得过大。AND FLOOR (Date([Search.created_at]))>=$(vRollingDate); end if

     

    您的标签看上去应当和以下截屏相似:

     

    数据加载编辑器中的历史数据 (QVD) 标签

    Historical Data (QVD) in the data load editor.

  4. 将另一个新标签添加至您的脚本。
  5. 对标签命名。我们将标签命名为 Store to QVD
  6. 在标签中添加以下脚本语句。

     

    //无论 QVD 文件之前是否存在,更新的数据都会存储到 QVD 中。STORE TwitterSearch INTO [lib://MyDataFiles/AllTweets.qvd](qvd);

     

    您的标签看上去应当和以下截屏相似:

     

    存储至数据加载编辑器中的 QVD 标签

    Store to QVD tab in the data load editor.

运行脚本

如果首次运行脚本,则会从 Twitter 加载数据,然后通过 Twitter 数据创建名为 AllTweets.qvdQVD 文件。QVD 文件即添加到您的 DataFiles 空间。当您再次运行脚本时,则会从 TwitterQVD 文件加载数据。然后通过您从 QVD 文件加载的数据更新 QVD 文件。

  1. 单击加载数据。如果首次运行脚本,则会从 Twitter 加载数据,然后使用数据创建 AllTweets QVD 文件。QVD 文件即添加至您的 DataFiles 空间,然后可通过单击 Select data 来查看。

     

    首次运行脚本时,您应当看到和以下相似的消息:

     

    数据加载进度窗口

    Data load progress window.

     

    第二次以及后续加载数据时,您应当看到和以下相似的消息:

     

    数据加载进度窗口

    Data load progress window.

  2. 使用您的数据在自己的应用程序中创建图表和表格。

设置数据加载计划

在您加载数据之后,可在自己的应用程序中显示该数据。正如我们所见,加载数据的一种方式是打开脚本编辑器并单击加载数据。但是,您也可在云应用中心用户界面内手动加载数据,或者按您选择的计划加载。有关详细信息,请参阅在云应用中心内加载应用程序数据