Skip To Content

大数据文件共享入门

关于大数据文件共享

大数据文件共享是在您的门户中创建的项目,引用了 ArcGIS GeoAnalytics Server 可访问的位置中的要素数据(点、线、面或表格数据)。门户中的大数据文件共享项目可用于通过 ArcGIS GeoAnalytics Server 工具浏览已注册数据。大数据文件共享可以引用以下数据源:

  • 文件共享 - 本地磁盘或网络共享上的数据集目录。
  • HDFS - 数据集的 Apache Hadoop 分布式文件系统 (HDFS) 目录。
  • Hive - Apache Hive 元数据存储数据库。
  • 云存储 - 包含数据集目录的 Amazon Simple Storage Service (S3) 存储段、Microsoft Azure Blob 容器或 Microsoft Azure Data Lake Store。
    注:

    ArcGIS Enterprise 10.6.1 版本中添加了对 Microsoft Azure Data Lake Store 的支持。

注:

仅在门户管理员启用 GeoAnalytics Server 后才能使用大数据文件共享。有关启用 GeoAnalytics Server 的详细信息,请参阅设置 ArcGIS GeoAnalytics Server

使用所有数据源公用的大数据文件共享存在诸多益处。在可以开始执行分析前,您可以将数据保存在您可访问的位置。大数据文件共享可用于在运行分析时访问数据,以便您可以继续将更多数据添加到大数据文件共享的现有数据集,无需重新注册或发布数据。您还可以修改清单以删除、添加或更新大数据文件共享中的数据集。大数据文件共享在时间和几何的定义方式上极其灵活,允许在单个数据集上使用多种时间格式。大数据文件共享还可用于对数据集进行分区,同时仍将多个分区视为一个数据集。

注:

只有当您运行 GeoAnalytics 工具 时,才能访问大数据文件共享。这意味着您只能浏览大数据文件和将其添加到您的分析中;无法在地图上显示该数据。

大数据文件共享是 GeoAnalytics 工具 访问数据的多种方式之一。有关可能使用的 GeoAnalytics 工具 数据输入的列表,请参阅Map Viewer 中使用 GeoAnalytics 工具

在大数据文件共享中支持将以下文件类型作为数据集:

  • 分隔文件(例如 .csv.tsv.txt
  • Shapefile (.shp)
  • Parquet 文件 (.gz.parquet)
  • ORC 文件 (orc.crc)

准备要注册为大数据文件共享的数据

文件共享和 HDFS

要准备进行大数据文件共享的数据,需要将数据集格式化为将注册的单个父文件夹下的子文件夹。在要注册的该父文件夹中,子文件夹的名称表示数据集名称。如果子文件夹包含多个文件夹或文件,则所有顶级子文件夹的内容将读取为一个数据集,且必须共享同一个方案。下面的示例演示了如何注册包含三个数据集(即 FileShareFolderEarthquakesHurricanes)的文件夹 GlobalOceans。注册父文件夹时,您指定的文件夹下的所有子目录也将注册到 GeoAnalytics Server。始终注册包含一个或多个单个数据集文件夹的父文件夹(例如 \\machinename\FileShareFolder)。

包含三个数据集的大数据文件共享示例:Earthquakes、Hurricanes 和 GlobalOceans。

|---FileShareFolder                 < -- The top-level folder is what is registered as a big data file share
   |---Earthquakes                  < -- A dataset "Earthquakes", composed of 4 csvs with the same schema
      |---1960
         |---01_1960.csv
         |---02_1960.csv
      |---1961
         |---01_1961.csv
         |---02_1961.csv
   |---Hurricanes                   < -- The dataset "Hurricanes", composed of 3 shapefiles with the same schema
      |---atlantic_hur.shp
      |---pacific_hur.shp
      |---otherhurricanes.shp
   |---GlobalOceans                 < -- The dataset "GlobalOceans", composed of a single shapefile
      |---oceans.shp

尽管术语不同,但文件共享和 HDFS 均采用该相同结构。在文件共享中,存在一个顶级文件夹或目录,数据集通过子目录表示。在 HDFS 中,文件共享位置已注册并包含数据集。下表概述了区别:

文件共享HDFS

大数据文件共享位置

文件夹或目录

HDFS 路径

数据集

顶级子文件夹

HDFS 路径内的数据集

在将数据按照包含数据集子文件夹的文件夹进行组织后,需要按照使数据可供 ArcGIS Server 访问中的步骤进行操作以使数据可供 GeoAnalytics Server 访问,并注册数据集文件夹。

使用 Kerberos 访问 HDFS

ArcGIS Enterprise 10.6.1 中,GeoAnalytics Server 可通过 Kerberos 身份验证访问 HDFS。

请按照以下步骤使用 Kerberos 身份验证注册 HDFS 文件共享:

  1. ArcGIS Server Administrator Directory 登录到您的 GeoAnalytics Server 站点。

    ArcGIS Server Administrator Directory 要求您作为管理员进行登录。要连接您的联合 GeoAnalytics Server 站点,必须使用门户令牌(需要门户管理员凭据)或作为 GeoAnalytics Server 站点的主站点管理员进行登录。如果您不是门户管理员或者没有主站点管理员帐户信息权限,请联系您的门户管理员为您完成这些步骤。

  2. 转至数据 > registerItem
  3. 复制下列文本并将其粘贴到项目文本框中。更新以下值:

    • <bigDataFileShareName>:根据需要替换为大数据文件共享的名称。
    • <hdfs path>:将大数据文件共享的路径更换为完全限定的文件系统路径,例如,hdfs://domainname:port/folder
    • <user@realm>:替换为用户和主体的范围。
    • <keytab location>:替换为密钥表文件的位置。密钥表文件必须可供 GeoAnalytics Server 站点中的所有计算机访问(例如,//shared/keytab/hadoop.keytab)。

    {
       "path": "/bigDataFileShares/<bigDataFileShareName>",
       "type": "bigDataFileShare",
       "info": 
             {
              "connectionString": "{\"path\":\"<hdfs path>",\"accessMode\":\"Kerberos\",\"principal\":\"user@realm\",\"keytab\":\"<keytab location>\"}",
              "connectionType": "hdfs"
             }
    }
      
    

  4. 单击注册项目

    注册项目后,大数据文件共享将附带填充清单,作为数据存储显示在 ArcGIS Server Manager 中。如果清单尚未填充,请继续执行步骤 5。

  5. 登录到您的 GeoAnalytics Server 站点 ArcGIS Server Manager。

    您可以作为发布者或管理员进行登录。

  6. 转至站点 > 数据存储,然后单击新的大数据文件共享旁边的重新生成清单按钮。

现在您拥有了用于 HDFS 的一个大数据文件共享和清单,您通过 Kerberos 身份验证即可访问 HDFS。您的门户中的大数据文件共享项目将指向 GeoAnalytics Server 中的大数据目录服务。

Hive

在 Hive 中,数据库中的所有表格将识别为大数据文件共享中的数据集。在下面的示例中,存在包含两个数据库(defaultCityData)的元数据存储。当通过 ArcGIS Server 将 Hive 大数据文件共享注册到 GeoAnalytics Server 时,只能选择一个数据库。在此示例中,如果选择了 CityData 数据库,则大数据文件共享中将存在两个数据集,即 FireDataLandParcels

|---HiveMetastore                 < -- The top-level folder is what is registered as a big data file share
   |---default                    < -- A database
      |---Earthquakes
      |---Hurricanes
      |---GlobalOceans
   |---CityData				               < -- A database that is registered (specified in Server Manager)
      |---FireData
      |---LandParcels

云存储

可以通过以下三个步骤来注册云存储类型的大数据文件共享:

准备数据

要在云存储中准备大数据文件共享的数据,需要将数据集格式化为单个父文件夹下的子文件夹。

以下是如何构建数据的示例: 本示例将注册父文件夹 FileShareFolder,其中包含三个数据集:EarthquakesHurricanesGlobalOceans。注册父文件夹时,您指定的文件夹下的所有子目录也将注册到 GeoAnalytics Server

以下是如何在云存储中构建将用作大数据文件共享的数据的示例: 此大数据文件包含三个数据集:Earthquakes、Hurricanes 和 GlobalOceans。

|---Cloud Store                          < -- The cloud store being registered
   |---Container or S3 Bucket Name       < -- The container (Azure) or bucket (Amazon) being registered as part of the cloud store
      |---FileShareFolder                < -- The parent folder that is registered as the 'folder' during cloud store registration
         |---Earthquakes                 < -- The dataset "Earthquakes", composed of 4 csvs with the same schema
            |---1960
               |---01_1960.csv
               |---02_1960.csv
            |---1961
               |---01_1961.csv
               |---02_1961.csv
         |---Hurricanes                  < -- The dataset "Hurricanes", composed of 3 shapefiles with the same schema
            |---atlantic_hur.shp
            |---pacific_hur.shp
            |---otherhurricanes.shp
         |---GlobalOceans                < -- The dataset "GlobalOceans", composed of 1 shapefile
            |---oceans.shp

将云存储注册到您的 GeoAnalytics Server

ArcGIS Server Manager 连接到 GeoAnalytics Server 站点以注册云存储。注册云存储时,您必须包含 Azure 容器名称、Amazon S3 存储段名称或 Azure Data Lake Store 帐户名。建议您在容器或存储段中另外指定文件夹。指定文件夹由子文件夹组成,且每个子文件夹都代表单独的数据集。每个数据集由子文件夹的全部内容组成。

将云存储注册为大数据文件共享

请按照以上步骤将您在之前部分中创建的云存储注册为大数据文件共享。

  1. ArcGIS Server Manager 登录到您的 GeoAnalytics Server 站点。

    您可以作为发布者或管理员进行登录。

  2. 转至站点 > 数据存储,然后从注册下拉列表中选择大数据文件共享
  3. 请在注册大数据文件共享对话框中提供以下信息:
    1. 输入大数据文件共享的名称。
    2. 类型下拉列表中选择云存储
    3. 云存储下拉列表中选择云存储的名称。
    4. 单击创建,将您的云存储注册为大数据文件共享。

现在,您拥有云存储的大数据文件共享和清单。您的门户中的大数据文件共享项目将指向 GeoAnalytics Server 中的大数据目录服务。

注册大数据文件共享

要将文件共享、HDFS 或 Hive 云存储注册为大数据文件共享,请通过 ArcGIS Server Manager 连接到您的 GeoAnalytics Server 站点。有关所需步骤的详细信息,请参阅 ArcGIS Server 帮助中的使用 Manager 将数据注册到 ArcGIS Server

提示:

上一部分中介绍了将云存储注册为大数据文件共享的步骤。

注册大数据文件共享后,将生成一个清单,其中介绍共享位置中的数据集格式,包括表示几何和时间的字段。将在门户中创建一个大数据文件共享项目,该项目指向注册数据的 GeoAnalytics Server 中的大数据目录服务。有关大数据目录服务的详细信息,请参阅 ArcGIS Services REST API 帮助中的大数据目录服务文档。

修改大数据文件共享

创建大数据目录服务后,系统将自动生成一个清单并将其上传到注册数据的 GeoAnalytics Server 站点。在生成清单的过程中,可能无法始终正确估算表示几何和时间的字段,您可能需要应用编辑。要编辑清单,请遵循使用 Manager 编辑大数据文件共享中的步骤。有关大数据文件共享清单的详细信息,请参阅 ArcGIS Server 帮助中的了解大数据文件共享清单

在大数据文件共享中运行分析

可通过支持 GeoAnalytics Server 的任何客户端在大数据文件共享的数据集上运行分析,具体包括:

  • ArcGIS Pro
  • Map Viewer
  • ArcGIS REST API
  • ArcGIS API for Python

要通过 ArcGIS ProMap Viewer 在大数据文件共享上运行分析,请选择要使用的 GeoAnalytics 工具。对于工具的输入,请浏览到 ArcGIS Pro门户下或 Map Viewer浏览图层对话框中数据所在位置。如果您之前注册了数据,则该数据将位于我的内容中。否则,请在群组所有门户中查找。请注意,为分析选择的大数据文件共享图层不会显示在地图中。

注:

请确保您登录到具有已注册大数据文件共享的访问权限的门户帐户。可使用项 bigDataFileShare* 搜索门户以快速查找您可以访问的所有大数据文件共享。

要通过 ArcGIS REST API 在大数据文件共享上运行分析,需要使用大数据目录服务 URL 作为输入。该 URL 格式将为 {"url":" https://webadaptorhost.domain.com/webadaptorname/rest/DataStoreCatalogs/bigDataFileShares_filesharename/BigDataCatalogServer/dataset"}。例如,如果计算机名为 example、域名为 esri、Web Adaptor 名为 server、大数据文件共享名为 MyData 且数据集名为 Earthquakes,则 URL 将为:{"url":" https://example.esri.com/server/rest/DataStoreCatalogs/bigDataFileShares_MyData/BigDataCatalogServer/Earthquakes"}。有关通过 REST 的大数据分析输入的详细信息,请参阅 ArcGIS Services REST API 文档中的要素输入主题。