总的来说,我建议使用DBeaver手动导入高达1GB的CSV文件。使用"IMPORT FROM"SQL语句从AWS或Azure文件存储导入较大的文件。如果需要导入CSV以外的文件或预处理数据,Python是最通用的工具。如果需要基于模式和/或重复导入许多文件,请使用SAP HANA智能数据集成文件适配器。
如本博客所述,当数据导入连接到SAP Web IDE Full Stack或SAP Business Application Studio中的建模任务时,您可以直接在数据库项目中插入高达10MB的测试小文件。将要导入的文件直接放入HDI容器的设计时定义中,并通过.hdbtabledata HDI人工制品定义导入。
此方法仅支持.csv文件。
使用Git时请注意。大多数Git存储库都有大小限制。签入Git存储库中的大文件或将其放入SAP Web IDE中的项目都不是一个好做法。
在Github上查找.hdbtabledata加载示例。
您可以使用SAP HANA数据库资源管理器的数据导入功能从本地PC导入高达200MB的CSV文件。从该UI,您还可以从AWS S3和Azure导入CSV/PARQUET文件。
从SAP云平台驾驶舱上的SAP HANA云实例访问数据库资源管理器。
在数据库资源管理器中,您可以访问所有HDI容器。右键单击要导入数据的数据库/HDI容器,淘客app系统,选择"导入数据"。
将打开"导入数据"向导。您可以选择CSV文件,然后导入目标表。
如果您想直接从amazons3或Azure导入文件,您需要先将IaaS证书注册到SAP HANA Cloud。有关详细信息,请参阅第5节从本博客的"SQL语句"导入
如果您在UI中选择Amazon S3作为导入源,则需要设置S3区域和S3路径,由您的IAM用户访问密钥和密钥组成,以及您的bucket名称和object ID。只需根据用户界面的要求输入它们。
选择要导入数据的表。
在导入选项中,您可以选择文件格式(CSV,PARQUET),您可以选择是否使用第一行作为列名、分隔符和日期格式。
设置错误处理,您就可以开始导入了你的档案!
如果您使用SAP HANA Cloud作为数据仓库,我明确建议使用DBeaver来管理您的数据。DBeaver具有非常直观的数据导入功能,允许用户从CSV文件导入数据。
首先,大数据工具,建立DBeaver到SAP HANA Cloud的安全连接。然后,右键单击要导入数据的模式并选择"导入数据"。
按照向导选择要导入的数据。
在本例中,我使用了来自Kaggle的100MB样本数据集,有1019925条记录。
设置导入器设置。
您可以手动设置表映射,或将其保留为默认值。导入程序可以在SAP HANA Cloud中自动为您创建新表。
这些是为我的CSV文件创建的默认列。
在数据传输选项中,您可以决定导入数据的提交频率。这会影响大文件的导入时间。
确认一切正常,然后开始导入。
我使用DBeaver在4分钟内将一个100MB CSV文件从我的客户端导入SAP HANA Cloud。作为参考,使用DBeaver将同一个文件导入本地网络上的SAP HANA 2.0 SPS05实例需要12秒。
如果您需要在将数据插入SAP HANA Cloud之前对其进行预处理,Python提供了一个强大而灵活的环境。
我使用了与DBeaver示例相同的100MB CSV文件来比较导入性能。我首先在我的CSV文件所在的目录中创建一个新的Jupyter笔记本。
在笔记本中,从导入hana\u ml库开始,选购云服务器,建立与SAP HANA云的连接,用熊猫读取你的CSV文件,物联网展,在SAP HANA云数据库中创建包含您的数据的数据帧,最后关闭连接。
这是我使用的python代码。HANA ML数据帧允许开发人员将HANA中的数据用作数据帧。这意味着您可以根据需要准备数据。在Andreas的博客中了解更多关于实际用例的信息。
数据导入在9分钟内完成。这证实了Lars Breddermann的结果,即DBeaver在数据导入SAP HANA Cloud方面大约是Python的两倍。
我使用HANA_ml库以最简单的方式导入数据,但您也可以使用其他库,如SQL Alchemy。
最后,如果您有非常大的数据集,将数据导入HANA云的最快方法是使用内置的"import FROM"SQL语句。
按照文档的说明直接从您的IaaS平台导入数据。在本指南中,我使用了AWS.
首先,您需要一个AWS帐户,启用S3,并且您的文件需要上传到S3。我使用与DBeaver和Python示例中相同的文件来比较性能。
在IAM部分,创建一个具有API访问权限的用户。您将收到访问密钥ID和机密访问密钥。
向您的IAM用户授予必要的访问权限。我将AmazonS3ReadOnlyAccess策略授予了我的用户,它允许我的帐户访问S3上的所有文件。如果需要,云机服务器,您还可以提供更细粒度的访问。
现在您必须注册SSL连接到S3所需的证书。