云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

企业网站_阿里企业邮箱官网_限量秒杀

小七 141 0

企业网站_阿里企业邮箱官网_限量秒杀

大家好。

在过去的几个月里,我一直在研究一些需要大量数据的SAP HANA POC。仅举个例子。我们有这些数据吗?简而言之:没有

大多数情况下,我们没有足够的数据,甚至无法访问客户的真实数据,因此我们必须生成一些行。为了做到这一点,我刚刚编写了一个python脚本来生成虚拟数据,我想与您共享它。

简单地说,这个python脚本为给定的HANA表生成行;它将表元数据作为列定义(考虑数据类型、长度等),然后根据列规范生成一个随机值。我正在使用Python和SAP Python HDBI client for SAP HANA,我认为它也可以与PyHDB Python库一起工作。

因此,在建立有效连接后,可以开始使用hdbcli库执行SQL查询。我正在使用SAP HANA Express Edition(HXE),您可以连接到HXE并获得类似于以下内容的表元数据:

如果您迭代coldefinition变量,您将获得列名、列数据类型,以及由SCHEMA和表变量定义的每个表列的列长度。

我定义了一组函数,将应用于coldefinition中的每个列定义;这允许您根据列数据类型获得一个随机值,并为任何特定列定义一些异常。我的意思是,如果你有一个数据类型为VARCHAR(20)的COLUMNA列,您可能想要一个长度为20的随机字符串,网站服务器租用,但是对于COLUMNB(也就是VARCHAR(20)),除了整数值之外,您不需要任何字符串。

这些函数如下:

函数randomDec和randomStr是自定义函数,您可以使用它们来操作和生成非常特定的值,或者只是包装对随机库的调用(或任何你需要的)。您甚至可以决定(使用自定义函数)将遵循哪个随机值统计分布数据。

如果您定义了一个例外,西安大数据,其中列定义与"MATERIAL"或"FECHAPERIODO"不同,那么您可以采取进一步的操作。在这个特殊的例子中,我不想有随机的材料编号,而只是从一个特定的可能值列表中随机选择。这个异常可以保证在不同的表上分布一个公共的列值(如果您想让一些SAP HANA建模工作,并且不想因为不同表中的纯随机值而有空连接)。

我按照JSON文档标记格式定义了我的异常,如下:

每次这个python脚本在schema TABLESCHEMA上创建一个表TABLEA,它将查找其列定义。如果它发现一个列名称列在例外列表上,那么它将应用指定的"定义",在任何其他情况下,它将保留HANA数据类型值。

最后,您有两个选项可以使用此脚本生成的数据:您可以直接将其插入HANA表,物联网竞赛,或者您可以有一个CSV文件,稍后可以上载到HANA表。从我的观点来看,这将取决于您希望生成多少行以及您希望以多快的速度获得信息。如果您只生成CSV数据,该过程将相对较快地结束,然后您可以使用import sql指令导入生成的数据;如果您决定将其直接插入到已定义的HANA表中,它将占用更多的时间,但您不必在其他步骤中导入它。如果您需要在内部安装或云实例上工作,您可能会面临这样或那样的限制。

您可以在这个github存储库中找到python完整脚本:https://github.com/mendezjcarlos/hana-dummy-data

在目录中提取(或克隆)此脚本后,您可以使用以下参数运行此脚本:

其中:

-s:表所在的架构名称-t: 为其生成此数据的表名-f: 异常文件定义-r: 此脚本将生成的行数-d: (在这种特殊情况下)是用于生成特定值的日期的附加参数-o: 如果存在,将生成一个CSV文件;如果不存在,大数据包括哪些内容,数据将直接插入HANA表

希望这个python脚本对您有用。当然,为了方便您自己,您可以对其进行修改和调整(例如,产业云,如果您希望生成具有随机值的CSV文件,而无需连接到HANA实例以获取表元数据)。