2024-09-29 19:33:20 发布
网友
基本上,我想要一个使用amazonaathena的s3存储桶中的csv文件的SQL连接。除了第一行将给出标题的名称之外,我也不知道其他任何信息。有人知道解决这个问题的办法吗?
你至少有两种方法。一种方法是检查文件的几行以检测数据类型,然后创建一个CREATE TABLESQL语句,如{a1}所示。在
CREATE TABLE
如果你知道你只得到字符串和数字(例如),并且你知道所有的列都有值,那么以这种方式构建它相对容易。但是,如果类型可以更灵活,或者列可以是空的,那么从头开始构建一个健壮的解决方案可能会很棘手。在
所以第二个选择是使用AWS Glue Catalog to define a crawler,这完全是我上面告诉过你的,但是是自动的。它还会在Athena中创建所需的元数据,因此不需要编写CREATE TABLE语句。在
作为奖励,您不仅可以使用来自雅典娜的自动编目数据,还可以使用来自Redshift和EMR的数据。如果你一直在同一个bucket中添加新文件(每天、每小时、每周……),你可以告诉爬网程序再次通过,并在模式发生变化时重新发现数据。在
你至少有两种方法。一种方法是检查文件的几行以检测数据类型,然后创建一个
CREATE TABLE
SQL语句,如{a1}所示。在如果你知道你只得到字符串和数字(例如),并且你知道所有的列都有值,那么以这种方式构建它相对容易。但是,如果类型可以更灵活,或者列可以是空的,那么从头开始构建一个健壮的解决方案可能会很棘手。在
所以第二个选择是使用AWS Glue Catalog to define a crawler,这完全是我上面告诉过你的,但是是自动的。它还会在Athena中创建所需的元数据,因此不需要编写
CREATE TABLE
语句。在作为奖励,您不仅可以使用来自雅典娜的自动编目数据,还可以使用来自Redshift和EMR的数据。如果你一直在同一个bucket中添加新文件(每天、每小时、每周……),你可以告诉爬网程序再次通过,并在模式发生变化时重新发现数据。在
相关问题 更多 >
编程相关推荐