经过仔细考虑,我们决定分两个步骤停止使用亚马逊 Kinesis Data Analytics SQL 的应用程序:
1. 从 2025 年 10 月 15 日起,您将无法为应用程序创建新的 Kinesis Data Analytic SQL s。
2. 我们将从 2026 年 1 月 27 日起删除您的申请。您将无法启动或操作适用于应用程序的 Amazon Kinesis Data Analytic SQL s。从那时起,亚马逊 Kinesis Data Analytics SQL 将不再提供支持。有关更多信息,请参阅 适用于应用程序的 Amazon Kinesis Data Analytic SQL s 停产。
本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用架构编辑器
Amazon Kinesis Data Analytics 应用程序的输入流的架构定义了如何将流中的数据提供SQL给应用程序中的查询。
架构包含选择条件,用于确定哪部分流输入将转换为应用程序内部输入流中的数据列。此输入可以是以下项之一:
JSON输入流的JSONPath表达式。JSONPath是用于查询JSON数据的工具。
逗号分隔值 (CSV) 格式的输入流的列号。
用于在应用程序内SQL数据流中呈现数据的列名和数据类型。该数据类型还包含字符或二进制数据的长度。
控制台将尝试使用 DiscoverInputSchema 生成架构。如果架构发现失败或返回了不正确或不完整的架构,您必须使用架构编辑器手动编辑架构。
架构编辑器主屏幕
以下屏幕截图显示了架构编辑器的主屏幕。
您可以将下列编辑应用于架构:
添加列 (1):如果未自动检测到数据项,您可能需要添加数据列。
删除列 (2):如果您的应用程序不需要源流中的数据,您可以排除该数据。此排除不会影响源流中的数据。排除数据后,数据将不可供应用程序使用。
重命名列 (3)。列名不能为空,必须长于单个字符,并且不得包含保留SQL关键字。该名称还必须符合SQL普通标识符的命名标准:名称必须以字母开头,并且仅包含字母、下划线字符和数字。
更改列的数据类型 (4) 或长度 (5):您可以为列指定兼容的数据类型。如果您指定了不兼容的数据类型,则该列要么填充为,要NULL么根本不填充应用程序内流。在后一种情况下,错误将写入到错误流。如果您为列指定的长度太小,传入数据将被截断。
更改列的选择标准 (6):您可以编辑用于确定CSV列中数据源的JSONPath表达式或列顺序。要更改JSON架构的选择标准,请为行路径表达式输入一个新值。CSV架构使用列顺序作为选择标准。要更改CSV架构的选择标准,请更改列的顺序。
编辑流式传输源的架构
如果您需要编辑流式传输源的架构,请按照以下步骤操作。
编辑流式传输源的架构
在 Source 页上,选择 Edit schema。
在 Edit schema 页上,编辑源架构。
在 “格式” 中,选择JSON或CSV。对于JSON或CSV格式,支持的编码为 ISO 8859-1。
有关编辑架构JSON或CSV格式的更多信息,请参阅下一节中的步骤。
编辑架JSON构
您可以使用以下步骤编辑JSON架构。
编辑架JSON构
在架构编辑器,选择 Add column 以添加列。
新列将显示在第一个列位置。要更改列顺序,请选择列名称旁边的向上和向下箭头。
对于新列,请提供以下信息:
对于 Column name,键入一个名称。
列名不能为空,长度必须超过一个字符,并且不得包含保留SQL关键字。它还必须符合SQL普通标识符的命名标准:它必须以字母开头,并且仅包含字母、下划线字符和数字。
对于 “列类型”,键入一种SQL数据类型。
列类型可以是任何支持SQL的数据类型。如果新数据类型为CHAR、或 VARBINARYVARCHAR,请为 “长度” 指定数据长度。有关更多信息,请参阅数据类型。
对于 Row path,提供一个行路径。行路径是映射到JSON元素的有效JSONPath表达式。
注意
基础 Row path 值是指向包含要将数据导入到的顶级父项的路径。默认情况下,此值为 $。有关更多信息,请参阅
JSONMappingParameters
中的RecordRowPath
。
要删除列,请选择列编号旁的 x 图标。
要重命名列,请在 Column name (列名) 中输入新名称。新列名不能为空,长度必须超过一个字符,并且不得包含保留SQL关键字。它还必须符合SQL普通标识符的命名标准:它必须以字母开头,并且仅包含字母、下划线字符和数字。
-
要更改列的数据类型,请在 列类型 中选择新数据类型。如果新数据类型为
CHAR
、VARBINARY
或VARCHAR
,请在 Length (长度) 中指定数据长度。有关更多信息,请参阅数据类型。 -
选择 Save schema and update stream 以保存您的更改。
修改后的架构将显示在编辑器中,类似于以下内容。
如果您的架构具有许多行,您可使用 Filter by column name 来筛选行。例如,要编辑以 P
开头的列名称 (如 Price
列),请在 P
Filter by column name 框中输入 。
编辑架CSV构
您可以使用以下步骤编辑CSV架构。
编辑架CSV构
在架构编辑器中,对于 Row delimiter,选择您的传入数据流使用的分隔符。这是您的流中数据记录之间的分隔符 (如换行符)。
对于 Column delimiter,选择您的传入数据流使用的分隔符。这是您的流中数据字段之间的分隔符 (如逗号)。
要添加列,请选择 Add column。
新列将显示在第一个列位置。要更改列顺序,请选择列名称旁边的向上和向下箭头。
对于新列,请提供以下信息:
对于 Column name (列名),输入一个名称。
列名不能为空,长度必须超过一个字符,并且不得包含保留SQL关键字。它还必须符合SQL普通标识符的命名标准:它必须以字母开头,并且仅包含字母、下划线字符和数字。
对于 “列类型”,输入一种SQL数据类型。
列类型可以是任何支持SQL的数据类型。如果新数据类型为CHAR、或 VARBINARYVARCHAR,请为 “长度” 指定数据长度。有关更多信息,请参阅数据类型。
要删除列,请选择列编号旁的 x 图标。
要重命名列,请在 Column name (列名) 中输入新名称。新列名不能为空,长度必须超过一个字符,并且不得包含保留SQL关键字。它还必须符合SQL普通标识符的命名标准:它必须以字母开头,并且仅包含字母、下划线字符和数字。
-
要更改列的数据类型,请在 列类型 中选择新数据类型。如果新数据类型为CHAR、或 VARBINARYVARCHAR,请为 “长度” 指定数据长度。有关更多信息,请参阅数据类型。
-
选择 Save schema and update stream 以保存您的更改。
修改后的架构将显示在编辑器中,类似于以下内容。
如果您的架构具有许多行,您可使用 Filter by column name 来筛选行。例如,要编辑以 P
开头的列名称 (如 Price
列),请在 P
Filter by column name 框中输入 。