跳转到内容

连接您的数据

源是您的工作区从中读取行的地方。它可以是 Google Sheet、Databricks 或 Snowflake 中的表、Postgres 数据库,或者保存在此工作区中的数据集。一旦附加,所有这些都以相同的方式工作—— enrichment jobs、回测和评估固定值都通过源进行读取。

源 从中读取 将结果写回 用于回测
Google Sheet 是 是 捕获后
Postgres 表 是 是 捕获后
Databricks 表 是 否 捕获后
Snowflake 表 是 否 捕获后
已保存的数据集 是 否 是

仓库表是只读的:作业可以从中读取,但结果写入您选择的位置——通常是一个表。如果您的组织不提供某种源类型,则不会出现该源。

工作区设置 → 集成 → 数据连接。

您的连接是您自己的。每个成员连接自己的,队友的连接对您无效——如果其他人已经连接了仓库,您将看到它已连接,但您仍需要自己的连接来附加表。

填写卡片并按连接。我们在保存任何内容之前将凭据与真实服务进行测试,因此“已连接”意味着它确实有效。如果没有,系统会告知您凭据被拒绝、主机无法访问或超时。

凭据是加密的,不会再次显示——即使对您也不会。要更改凭据,请再次连接。

测试连接会重新检查已保存的凭据。如果作业开始失败,请使用它;一个过期或已更改的凭据将显示为需要重新连接。

断开连接会擦除存储的凭据并暂停每个通过该凭据读取的作业。没有数据被删除——您的源保持其设置和历史记录,重新连接会再次启用它们。卡片在您进行操作之前会告诉您有多少个源受到影响。

断开连接是可逆的。有两件事是不可逆的:

  • 队友的用户账户被删除。 他们的凭据随之删除,因此他们附加的源不再可被任何人读取。
  • 库中的数据集被删除。 任何封装了它的源都没有剩下的内容可供读取。

在这两种情况下,受影响的源会被断开,其作业会暂停,原因会显示在作业上——“连接被删除”或“数据集被删除”。您的设置和丰富历史会保留,但这次重新连接不会有帮助:没有对象可以重新连接。请重新附加源——通过实时连接或另一个数据集。一个写入旧源的作业可以指向新源并重新开启。一个读取旧源的作业无法开启:在新源上创建一个新作业。其历史保留在旧源上。

发生这种情况的工作区可以安全离开:暂停的作业不会消耗任何资源,且不会重复尝试。

作业 → 源 → 附加,或者从画布中的批量框架中。

选择源的类型,然后填写所需的一个步骤:

  • Google Sheet —— 粘贴表格的链接,选择一个选项卡,并映射列。
  • 已保存的数据集 —— 从此工作区的库中选择一个。无需填写其他信息。
  • Databricks 或 Snowflake —— 提供目录(Databricks)或数据库(Snowflake)、模式和表,然后按预览表以检查您选择的是正确的表,然后再映射列。
  • Postgres 表 —— 提供表(以及模式,如果不是public),按预览表,然后映射列。Postgres 是唯一一个也可以写入的 SQL 源:选中写回的任何列丰富应填入。

您尚未连接的源类型会呈灰色,并会有通知提示您先连接它。

每个源都需要一个列来识别一行——这是该产品了解它已经处理过哪一行的方式。选择一个不会改变的内容:一个 ID 而不是可能被编辑的名称。

如果您的表有“最后更新”时间戳,请命名它。如果没有,每一行都在每次运行时被视为需要处理。在一个大型表上,这个问题很重要。

数据集是保存在此工作区中的固定行集。数据集是回测和评估的依据,因为它们不会在运行过程中更改。

在 作业 → 数据集 下找到它们。创建数据集有三种方式。

直接在表单中。适合短列表。

作业 → 数据集 → 导入文件。

  • 如果列不是叫key,请告诉我们哪一列是关键。
  • 如果您的文件记录了每一行何时成立——公告日期、收盘价格的日期——请命名该列。这将使文件变成您可以进行回测的真实历史记录。
  • 如果您将其省略,每一行都会被标记为在您上传时已知。

一个文件可以包含最多50,000 行和4 MB。超过任何限制,导入会被拒绝并告知您——没有任何内容会悄悄被切断。

作业 → 数据集 → 从源捕获。

这会读取您已经附加的源,并将结果保存到库。这是一个实时表如何变成您可以进行回测的对象。

需要理解的捕获的一件事:

捕获是从现在开始的快照——不是过去的重建。

每一行都是在您捕获时被记录为已知的。因此,一个在过去日期范围内用于回测的单次捕获将不会找到任何内容——这是正确的,因为当时没有可知的数据。

要构建一个可以进行回测的内容,请选择添加到现有数据集,而不是创建新的数据集。每次捕获仅添加那些实际发生变化的行,并标注您捕获它们的时间。下周和下个月再次捕获相同的源,数据集就会变成真实历史:每个回测日期都看到的是当时的当前值。

为了在不记得的情况下继续进行,捕获时选中按计划重复,并选择频率:每小时、每 6 小时、每天或每周。时间为 UTC。捕获每次最多运行一次,因为每次捕获都会读取整个源。一旦第一次捕获成功,计划便开始。

如果您的数据已经记录何时每一行成立(例如,具有已知列的 CSV 导入),捕获会保留这些日期而不是替换它们,且可以立即进行回测。

读取发生在后台,因此数据集会在片刻后出现在列表中,而不是立即。适用同样的大小限制,过大以至于无法存储的源会被拒绝,而不是部分保存。

按计划捕获的数据集在 作业 → 数据集 下的名称下显示,例如“每天 06:00 UTC 捕获 · 下次 10 月 30 日,06:00”。在这里,您可以暂停、恢复或停止重复。停止会保留数据集及已捕获的所有内容。一个数据集可以有一个计划。您仍然可以随时手动捕获到它。

按计划捕获会跳过一个周期,在下一个周期时重试,当:

  • 使用此数据集的回测、研究或评估仍在运行。添加行时运行中的作业会停止,因为它检查其数据是否在其底层发生变化。
  • 您的工作区订阅已过期,或达到其使用限制。解决后,捕获会自动恢复。

计划会暂停自身,并说明原因,当继续操作只会再次失败时:

  • 暂停——数据集已满。 数据集达到了 50,000 行或 4 MB 限制。新的捕获会被拒绝,而不是删除旧的历史记录,因为这会改变在早期期间进行的回测所看到的内容。请删除记录,或捕获到新的数据集中,然后恢复。
  • 暂停——源已断开、源访问被撤销、连接被删除或无法读取源。请重新连接或重新附加源,然后恢复。源仍不可用时,拒绝恢复操作。

每个数据集都记住它的创建方式。在 作业 → 数据集 下,其名称下会看到以下之一:

  • 从 名称 捕获——它是从该源捕获的。对其进行更多捕获时保持同一标签。
  • 从文件导入
  • 粘贴

在这种标签存在之前创建的数据集没有任何内容——我们不进行猜测。断开或删除源不会删除从其捕获的数据集;它们保留其行和标签。

反过来,在 作业 → 源 中的每个源会显示从其捕获的数据集数量。

“请先在集成中连接此项”——您尚未为该源类型拥有自己的凭据。队友的凭据不算数。

“此凭据停止工作”——保存的凭据不再有效。它可能已经被更改或过期。请重新连接。

您的作业已暂停——它们读取的凭据已断开,或者源已断开。请重新连接或重新附加,然后重新开启作业。没有数据丢失。读取相同源的计划捕获也会以相同方式暂停。请从 作业 → 数据集 处恢复它们。

某个作业显示“连接已删除”或“数据集已删除”——它通过读取的内容被删除,而不仅仅是断开,因此没有任何东西可以重新连接。请再附加源——通过实时连接或另一个数据集。如果该作业写入了被删除的源,请将其指向新源并开启。如果它从中读取,则在新源上创建一个新作业;故意拒绝重新开启旧作业,因为这只会在下次运行时再次暂停它。

“无效的标识符”——目录、模式、表或列名称包含我们不允许放入查询的字符。使用单个字段中没有引号、分号或点的普通名称。

“已经附加”——该工作区已经有一个活动源指向确切的该表格、表或数据集。

某个作业失败,显示无法写入——其目标是一个只读源,例如仓库表或数据集。请将作业指向一个工作表。

阅读您自己的数据库或仓库使用的是您的计算,按该提供商收费——我们不收取额外费用。调用模型的 enrichment 按照正常方式计费;请参阅 使用和计费。