【问题标题】:AWS GLUE Data Import IssueAWS GLUE 数据导入问题
【发布时间】:2017-11-28 21:24:16
【问题描述】:

有一个excel文件testFile.xlsx,如下所示:

ID  ENTITY  STATE
1   Montgomery County Muni Utility Dist No.39   TX
2   State of Washington WA
3   Waterloo CUSD 5 IL
4   Staunton CUSD 6 IL
5   Berea City SD   OH
6   City of Coshocton   OH

现在我想将数据导入 AWS GLUE 数据库,AWS GLUE 中的爬虫已创建,运行爬虫后 AWS GLUE 数据库中的表中没有任何内容。我想这应该是 AWS GLUE 中分类器的问题,但不知道创建一个合适的分类器来成功地将 excel 文件中的数据导入 AWS GLUE 数据库。感谢您的任何回答或建议。

【问题讨论】:

    标签: amazon-web-services aws-glue


    【解决方案1】:

    恐怕 Glue Crawler 没有 MS Excel 文件(.xlsx 或 .xls)的分类器。 Here 您可以找到支持的格式和内置分类器的列表。在导出到 AWS Glue 目录之前,最好将文件转换为 CSV 或其他支持的格式。

    【讨论】:

      【解决方案2】:

      Glue 爬虫不支持 MS Excel 文件。 如果要为 excel 文件创建表,则必须先将其从 excel 转换为 csv/json/parquet,然后在新创建的文件上运行爬虫。

      您可以使用 pandas 轻松转换它。 创建一个普通的python作业并读取excel文件。

      import pandas as pd
      df = pd.read_excel('yourFile.xlsx', 'SheetName', dtype=str, index_col=None)
      df.to_csv('yourFile.csv', encoding='utf-8', index=False)
      

      这会将您的文件转换为 csv,然后在此文件上运行爬虫,然后您的表格将被加载。

      希望对你有帮助。

      【讨论】:

        【解决方案3】:

        当您说“运行爬网程序后 AWS Glue 数据库中的表中没有任何内容”时,您是说在 Glue UI 中,您点击的是数据库,然后是数据库名称,然后是“xxx 中的表”,什么都没有出现?

        您问题的第二部分似乎表明您正在寻找 Glue 将文件的实际数据行导入 Glue 数据库。那是对的吗? Glue 数据库不存储数据行,仅存储有关文件的架构信息。您需要使用 Glue ETL 作业、Athena 或 hive 将数据从数据文件实际移动到 mySQL 之类的文件中。

        【讨论】:

          【解决方案4】:

          您应该编写脚本(很可能是 python shell 作业)将 excel 转换为 csv,然后在其上运行爬虫。

          【讨论】:

            猜你喜欢
            • 2018-02-16
            • 1970-01-01
            • 2019-12-18
            • 2019-11-13
            • 1970-01-01
            • 2018-09-28
            • 2018-12-07
            • 2019-07-23
            • 1970-01-01
            相关资源
            最近更新 更多