Skip To Content

大数据文件共享入门

注:

在 10.9.1 或更高版本中,可以通过门户内容页面注册大数据文件共享。 这是注册大数据文件共享的推荐方法。 如果您的大数据文件共享使用 Server Manager 创建,并且您尚未将其替换为门户中的大数据文件共享,则请仅将 Server Manager 用于编辑

大数据文件共享是在门户中创建的项目,可以将可用位置引用到 ArcGIS GeoAnalytics Server。 大数据文件共享位置可用作 GeoAnalytics 工具中要素数据(点、线、面和表格数据)的输入和输出。 通过门户内容页面创建大数据文件共享时,至少会在门户中创建两个项目:

  • 数据存储(大数据文件共享)项目
  • 大数据文件共享项目
  • 数据存储(云存储)项目,如果您正在为大数据文件共享注册一个云存储
大数据文件共享项目指向大数据目录服务,该服务概述了大数据文件共享中的数据集及其方案,包括几何和时间信息,以及已注册的输出格式(称为模板)。 将大数据文件共享用于 ArcGIS GeoAnalytics Server 工具的输入时,您可以浏览到大数据文件共享项目以运行数据集分析。

注:

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

大数据文件共享

使用大数据文件共享存在诸多益处:

  • 在可以开始执行分析前,您可以将数据保存在您可访问的位置。 大数据文件共享可用于在运行分析时访问数据,以便您可以继续将数据添加到大数据文件共享的现有数据集,而无需重新注册或发布数据。
  • 您还可以修改清单以移除、添加或更新大数据文件共享中的数据集。
  • 大数据文件共享在时间和几何的定义方式上极其灵活,允许在单个数据集上使用多种时间格式。
  • 大数据文件共享还可用于对数据集进行分区,同时仍将多个分区视为一个数据集。
  • 针对输出数据使用大数据文件共享,允许您将结果存储为可用于其他工作流的格式,例如可用于进一步分析或存储的 Parquet 文件。

注:

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

大数据文件共享可以引用以下输入数据源:

  • 文件共享 - 本地磁盘或网络共享上的数据集目录。
  • Apache Hadoop Distributed File System (HDFS) - 数据集的 HDFS 目录。
  • Apache Hive - Hive 元数据存储数据库。
  • 云存储 - 包含数据集目录的 Amazon Simple Storage Service (S3) 存储段、Microsoft Azure Blob 容器或 Microsoft Azure Data Lake Gen2(仅限 ArcGIS Server Administrator Directory)。

将结果写入大数据文件共享时,您可以使用以下 GeoAnalytics Tools 输出:

  • 文件共享
  • HDFS
  • 云存储

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

  • 分隔文件(例如 .csv.tsv.txt
  • Shapefile (.shp)
  • Parquet 文件 (.parquet)
    注:

    仅支持未加密的 parquet 文件。

  • ORC 文件 (.orc)

大数据文件共享是 GeoAnalytics Tools 访问数据的多种方式之一,GeoAnalytics Tools 没有此项要求。 有关可能使用的 GeoAnalytics Tools 数据输入和输出的列表,请参阅Map Viewer 经典版 中使用 GeoAnalytics Tools

您可以根据需要注册多个大数据文件共享。 每个大数据文件共享可以包含任意数量的数据集。

下表概述了讨论大数据文件共享时的一些重要术语。

术语描述

大数据文件共享

注册到 GeoAnalytics Server 的位置可用作 GeoAnalytics Tools 的数据集输入或输出,也可以同时用作输入和输出。

大数据目录服务

该服务概述了大数据文件共享的输入数据集和方案以及输出模板名称。 该服务是在注册大数据文件共享及创建清单时创建的。

有关大数据目录服务的详细信息,请参阅 ArcGIS Services REST API 帮助中的大数据目录服务文档。

大数据文件共享项目

门户中引用大数据目录服务的项目。 您可以通过在门户中共享此项目来控制哪些用户有权将您的大数据文件共享用作 GeoAnalytics 的输入。

清单

JSON 文件概述了大数据文件共享中的可用数据集和输入方案。 注册大数据文件共享时会自动生成清单,您可以通过编辑或使用提示文件对该清单进行修改。 单个大数据文件共享具有一个清单。

输出模板

将结果写入大数据文件共享时,可概述文件类型和可选格式的一个或多个模板。 例如,模板可以指定将结果写入 shapefile。 大数据文件共享可以不包含输出模板,也可以包含一个或多个输出模板。

大数据文件共享类型

您正在注册的位置类型。 例如,您可能拥有大数据文件共享或类型 HDFS。

大数据文件共享数据集格式

您正在读取或写入的数据格式。 例如,文件类型可以是 shapefile。

提示文件

该文件为可选文件,可用于帮助生成用作输入的分隔文件的清单。

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

要将数据集用作大数据文件共享的输入,请确保已正确格式化数据。 有关基于大数据文件共享类型的格式,请参阅以下内容。

文件共享和 HDFS

要准备进行大数据文件共享的数据,必须将数据集格式化为将注册的单个父文件夹下的子文件夹。 在要注册的该父文件夹中,子文件夹的名称表示数据集名称。 如果子文件夹包含多个文件夹或文件,则所有顶级子文件夹的内容将读取为一个数据集,且必须共享同一个方案。 下面的示例演示了如何注册包含三个数据集(即 EarthquakesHurricanesGlobalOceans)的文件夹 FileShareFolder。 在注册父文件夹时,指定的该文件夹下的所有子目录也将被注册到 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访问中的步骤操作并通过门户注册数据集文件夹或 HDFS 路径,以使数据可供 GeoAnalytics Server 访问。

Hive

注:

GeoAnalytics Server 使用 Spark 3.0.1。Hive 必须为 2.3.7 或 3.0.0–3.1.2 版本。

如果您使用错误的 Hive 版本尝试使用或注册大数据文件共享,则大数据文件共享注册将失败。 如果发生此情况,请在 ArcGIS Server Administrator Directory > 服务 > 系统 > GeoAnalyticsManagement > 停止 中重新启动 GeoAnalyticsManagement 工具箱。 重复步骤以启动。

Hive 中,数据库中的所有表格将识别为大数据文件共享中的数据集。 在下面的示例中,存在包含两个数据库(defaultCityData)的元数据存储。 注册 Hive 大数据文件共享时,只能选择一个数据库。 在此示例中,如果选择了 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

添加大数据文件共享

如果要添加的大数据文件共享类型为文件夹、HDFS、Hive、Microsoft Azure Blob 存储、Amazon Simple Storage Service (S3) 存储段或 S3 兼容存储段云存储,请参阅添加大数据文件共享

按照以下步骤将 Microsoft Azure Data Lake Gen2 云存储注册为大数据文件共享。

先决条件:

开始之前,请确保具备以下条件再执行操作:

  • 为大数据文件共享选择一个名称。 除非另有说明,否则在云存储注册和大数据文件共享注册过程中将始终使用此名称。 请勿使用空格或特殊字符。
  • Azure Data Lake Gen2
  • Azure Data Lake Gen2 的共享密钥

  1. 使用 URL https://webadaptorhost.domain.com/webadaptorname/sharing/rest 登录到 Portal Directory
  2. 导航到 URL https://webadaptorhost.domain.com/webadaptorname/sharing/rest/portals/0123456789ABCDEF/servers 以获取您的 GeoAnalytics Server 的服务器 ID。 请记录 GeoAnalytics Server 服务器 ID,在后续步骤中将会用到。
  3. 接下来,将 Data Lake Gen2 云存储添加到您的门户。 修改 https://webadaptorhost.domain.com/webadaptorname/sharing/rest/content/users/<username>/addItem 的 URL,将 <username> 替换为您登录时使用的用户名。
  4. 使用以下信息填写“添加项目”页面:

    • 类型 - Data Store

    • 标题 - 提供您在整个过程中要使用的名称。

    • 格式 - JSON

    对于文本参数,请使用以下 JSON 并按照简要说明更新参数:

    • <title> - 替换为您选择的将在整个过程中使用的名称
    • <data lake name> - 替换为 Azure 中您的 Data Lake 的名称。
    • <shared key> - 替换为您的 Data Lake 的共享密钥。
    • <container name> - 替换为存储您的数据的容器。
    • <folder name> - 替换为存储您的数据文件夹的文件夹。

    {
       "path": "/cloudStores/<title>",
       "type": "cloudStore",
       "provider": "azuredatalakegen2store",
       "info": 
             {
              "isManaged": false,
              "connectionString": "{\"endpoint\":\"<data lake name>.dfs.core.windows.net\",\"authType\":\"SharedKey\",\"sharedKey\":\"<shared key>\"}",
              "container": "<container name>",          
              "folder": "<folder name>"
             }
    }
      
    

  5. 单击添加项目。 请记录返回的 JSON 对象。

    其外观与此示例相似:

    {
      "id": "ae514ea11d0a4a2cb720dd627694b098",
      "success": true,
      "folder": ""
    }

  6. 打开一个新选项卡,然后转至以下 URL:https://webadaptorhost.domain.com/webadaptorname/sharing/rest/portals/self/datastores/addToServer。 使用以下信息填写表单:
    • DatastoreId - 使用之前步骤的 JSON 中返回的 ID。
    • ServerId - 您的 GeoAnalytics Server 的 ID。

    • 格式 - JSON

    此操作将返回状态的 JSON 消息。 如果成功,请继续下一步。

  7. GeoAnalytics Server 上登录到 ArcGIS Server Manager。 转至站点 > 数据存储。 浏览已注册的数据存储,找到您刚刚创建的数据存储并复制该文件名称。

    其格式将为 <chosenname>_ds_<unique key>。 您将在下一步中使用此名称。

  8. 接下来,将引用云存储的大数据文件共享添加到您的门户。 访问 URL https://webadaptorhost.domain.com/webadaptorname/sharing/rest/content/users/<username>/addItem,将 <username> 替换为您登录时使用的用户名。

    在表单中填写以下值:

    • 类型 - Data Store

    • 标题 - 提供您在整个过程中要使用的名称。

    • 格式 - JSON

    对于文本参数,请使用以下 JSON 并按照简要说明更新参数:

    • <cloud_title> - 使用步骤 7 中的名称。
    • <title> - 替换为您在其他位置选择使用的名称。

    {
       "info":{
          "connectionString":"{\"path\":\"/cloudStores/<cloud_title>\"}",
          "connectionType":"dataStore"
       },
       "path":"/bigDataFileShares/<title>",
       "type":"bigDataFileShare"
    }
    

  9. 单击添加项目。 请记录返回的 JSON 对象。

    其外观与此示例相似:

    {
      "id": "bk514ea14d0a3a2cb890hh627694b071",
      "success": true,
      "folder": ""
    }

  10. 返回到以下 URL:https://webadaptorhost.domain.com/webadaptorname/sharing/rest/portals/self/datastores/addToServer。 使用以下信息填写表单:
    • DatastoreId - 使用之前步骤的 JSON 中返回的 ID。
    • ServerId- 您的 GeoAnalytics Server 的 ID。

    • 格式 - JSON

现在,您已拥有大数据文件共享项目和一个云存储项目。 创建大数据文件共享项目后,GeoAnalytics Server 将创建第三个项目,其中包括数据的清单,您可以在门户内容中修改清单。 可能需要花费几分钟的时间创建项目,具体取决于数据集的数量。 要修改数据集,请参阅下方的“在门户中管理大数据文件共享”。

在门户中管理大数据文件共享

创建大数据文件共享后,您可以查看其中的数据集和模板,该模板概述了如何写入保存到大数据文件共享的结果。

修改大数据文件共享

创建大数据文件共享项目时,将自动生成并上传输入数据的清单。 在生成清单的过程中,可能无法始终正确估算表示几何和时间的字段,您可能需要应用编辑。 要编辑清单和数据集的表示方式,请遵循编辑大数据文件共享中的步骤操作。 有关大数据文件共享清单的详细信息,请参阅 ArcGIS Server 帮助中的大数据文件共享清单

如果您在 ArcGIS Server 中使用 Manager 创建了大数据文件共享,请按照Server Manager 中编辑大数据文件共享清单中的步骤操作。

修改大数据文件共享的输出模板

当您选择将大数据文件共享用作输出位置时,将自动生成输出模板。 这些模板概述了输出分析结果的格式,例如文件类型以及时间和几何的注册方式。 要修改几何或时间格式,或添加、删除模板,可通过修改模板来实现。 要编辑输出模板,请按照创建、编辑和查看输出模板中的步骤操作。 关于输出模板的详细信息,请参阅大数据文件共享中的输出模板

如果您在 ArcGIS Server 中使用 Manager 创建了大数据文件共享,请按照Server Manager 中编辑大数据文件共享清单中的步骤操作。

将在 Server Manager 中创建的大数据文件共享迁移至门户

相对于在 Server Manager 中创建的大数据文件共享,使用门户创建的大数据文件共享具有许多优势,例如:

  • 用户体验更佳,数据集编辑更加容易。
  • 注册大数据文件共享的体验更加简洁。
  • 项目使用门户凭据存储和共享

建议您将现有大数据文件共享从 Server Manager 移动至门户。 在某些情况下,这是必要操作。 在以下情况下,您必须将大数据文件共享迁移到门户以便继续使用它们:

  • 大数据文件共享基于 Microsoft Azure Data Lake Gen1 云存储。

要将大数据文件共享从 Server Manager 迁移至门户,请确保具备以下信息:

  • 已配置的大数据文件共享的凭据和文件位置。
  • 在适用的情况下,需要已配置的云存储的凭据和文件位置。
得知凭据后,请完成以下步骤:

  1. GeoAnalytics Server 站点上登录到 Server Manager
  2. 转至站点 > 数据存储。 单击要迁移的大数据文件共享上的编辑按钮。
  3. 转到高级 > 清单。 单击下载按钮以保存清单。
  4. 如果存在提示文件,请对提示文件完成相同的步骤。 单击提示下载以保存提示文件。 将文件扩展名从 .dat 改为 .txt
  5. 如果在高级输出模板部分下有输出模板,请复制文本并将其保存在文本文件中。
  6. 使用之前所用的类型和输入位置在门户内容中创建大数据文件共享。

    如果您不知道凭据,您的管理员可以在 Server Administrator 中针对大数据文件共享和云存储项目使用 decrypt=true 选项找到凭据。

  7. 创建大数据共享后,单击数据集,然后打开显示高级选项
  8. 单击清单部分中的上传以上传之前保存的清单。 浏览至之前保存的清单 JSON 文件,然后单击上传。 单击同步按钮以反映更改。
  9. 如果存在要上传的提示文件,请完成同样的步骤并在显示高级选项 > 提示 > 上传选项下上传提示文件。 单击同步按钮以反映更改。
  10. 要上传输出模板,请执行以下操作之一:

现在,您的大数据文件共享和大数据文件共享项目的清单已在门户中。 您可以更新工作流以使用或指向此大数据文件共享。 当您确信其如预期运行时,可删除 Server Manager 中的原始大数据文件共享。

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

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

  • ArcGIS Pro
  • Map Viewer 经典版
  • ArcGIS REST API
  • ArcGIS API for Python

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

注:

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

要通过 ArcGIS REST API 在大数据文件共享上运行分析,需要使用大数据目录服务 URL 作为输入。 如果大数据文件共享在门户中创建,其格式将为 {"url":" https://webadaptorhost.domain.com/webadaptorname/rest/DataStoreCatalogs/bigDataFileShares_filesharename/"}。 例如,如果计算机名为 example、域名为 esri、Web Adaptor 名为 server、大数据文件共享名为 MyData 且数据集名为 Earthquakes,则 URL 将为:{"url":" https://example.esri.com/server/rest/DataStoreCatalogs/bigDataFileShares_MyData/Earthquakes_uniqueID"}。 如果大数据文件共享在 Server Manager 中创建,其格式将为 {"url":"https://webadaptorhost.domain.com/webadaptorname/rest/DataStoreCatalogs/bigDataFileShares_filesharename/BigDataCatalogServer/dataset"}

有关通过 REST 的大数据分析输入的详细信息,请参阅 ArcGIS Services REST API 文档中的要素输入主题。

将结果保存到大数据文件共享

您可以针对数据集(大数据文件共享或其他输入)运行分析,并将结果保存到大数据文件共享。 将结果保存到大数据文件共享时,您无法将其可视化。 可以通过以下客户端执行此操作:

  • Map Viewer 经典版
  • ArcGIS REST API
  • ArcGIS API for Python

将结果写入大数据文件共享时,输入清单将更新,以包含刚刚保存的数据集。 现在,已写入大数据文件共享的结果可在下次运行工具时作为输入。