手机站:/m

MySQL数据库_华为大数据中心-云账号登录_哪个好

时间:2021-09-08 17:42编辑:淘客樊里来源:淘客樊里当前位置:主页 > 云存储 >

引言数据准备阶段是任何使用ML或预测算法等先进分析项目的基础。在预测场景实现过程中,可能需要将行数据作为列名称换位,财务大数据,生成更多的列。这些额外的列被预测算法进一步处理,如聚类、分类等,以提高预测分数,对于实例扁平层次结构,我们碰巧将行值转换为列值,反之亦然。但是对于这个预测用例中的数据准备阶段,我们将把行转换为列名(而不是列值)。为了更好地理解,智慧农业物联网系统,让我通过参考下面汽车制造商的假设机械数据(图1)来演示这个数据准备阶段。在这个数据中,对于任何底盘数值,发动机容量和马力有3个不同的数值集,分别是110022003500和74163270。

(图1显示了底盘编号的不同变体)

我们首先列出与上述数据相关的各种事实如下:

对于任何底盘,发动机容量和马力的组合代表了不同的变体。(例如,大数据时代纪录片,CIN100001有3种不同的变体,结合了发动机容量和马力)对于所有机箱,都有3个类似的变体(将来将增加到N个变体)RPM、BodyType和Milege列表示不同变体的属性

每个底盘有3个变体,因此对于任何底盘,我们可以看到3行,但在未来,随着所有底盘推出新变体,该数据预计会增加。

要求

目标表示预计如下图2所示。在这里,所有底盘,数据被表示为单行和列RPM/车身类型/里程与变量的转置值合并。

(图2-目标要求)

以下转换可以理解为:

列发动机容量和马力的合并值,如(1100×74,2200咆163和3500咆270)被转置并附加到列名称中,例如RPM咆1100咆74到里程咆3500咆270属性RPM/BodyType/Mileage以跨这些目标列显示

解决方案

正如我们在这里看到的,目标列主要基于变量数据生成,并且由于新的变量,服务器 云服务器,这些数据预计在将来会增长,因此为了处理这个动态数据,我们选择创建SQLScript write过程来创建目标表的结构,其中列名将根据变量数量及其值动态生成。

伪代码

步骤1

使用变量中的系统表列从基表中提取列名及其数据类型(如RPM、BodyType和Milege)。例如RPM和Nvarchar(50)。

步骤2

提取变量数据,即任何ChassisNo的(发动机容量和马力)值,可用于创建表的部分目标列名。例如,1100_74.

步骤3

循环步骤1中提取的所有列,并将其列名和数据类型存储在各自的变量中,如","(如Nvarchar(50))。

步骤4

对步骤2中提取的变量数据进行内部循环,然后执行concat操作,如下所示:

concat(column,Variant Data)即RPM_1100_74

Concat(i_weight_tmp,DATATYPE)即RPM_1100_74 Nvarchar(50),

此内部循环对步骤-1中提取的列RPM的所有变量进行迭代,然后将控制传递给外部循环,并对其他列(如BodyType和Mileage)继续进行类似的迭代。

步骤5

保留此动态生成的字符串(包含目标列名)放入一个变量并执行以下操作

v_weight_f:=Concat('ChassisNo Nvarchar(50),'目标列的变量字符串)

v_weight:=('CREATE table targetcasis('| |:v_weight_f | |')

EXEC v_weight

使用EXEC子句(动态SQL),表可以动态创建,所有元数据都按照基表中的数据定义,

动态创建表的详细代码如图3所示:

(图3)。动态创建表的示例代码)

执行上述步骤后,列表创建成功。

注意:根据SAP Note 2154870中提到的现有系统限制,SAP HANA数据库中的一个列表在列存储中最多可容纳64000列,大数据推荐,而在行存储表中最多可容纳1000列,因此,此表的动态创建对于此范围内的列计数有效。

此时,动态创建的表已准备就绪,可以插入RPM、BodyType和Milege列的数据。

结论

对于任何类似的预测要求,行数据需要作为列名进行转置,这种数据准备方法是一种基于基表数据动态生成表(使用hanasqlscript程序)的解决方案。数据可以由另一个过程动态加载到此表中,并可以在HANA中的预测分析库(PAL)的不同算法中进一步使用,以实现高级分析目的。

上一篇华为云_企业邮箱登人工智能书-陆登录入口_新用户

下一篇阿里云_新概念英语游戏返利-视频百度云_免费申请

云市场知识本月排行

云市场知识精选