org.apache.hadoop.yarn.api.records

## Class LocalResource

- java.lang.Object
- - org.apache.hadoop.yarn.api.records.LocalResource

-     @InterfaceAudience.Public
       @InterfaceStability.Stable
      public abstract class LocalResource
      extends Object

  `LocalResource` represents a local resource required to run a container.

  The `NodeManager` is responsible for localizing the resource prior to launching the container.

  Applications can specify `LocalResourceType` and `LocalResourceVisibility`.

  See Also:
    `LocalResourceType`, `LocalResourceVisibility`, `ContainerLaunchContext`, `ApplicationSubmissionContext`, `ContainerManagementProtocol.startContainers(org.apache.hadoop.yarn.api.protocolrecords.StartContainersRequest)`

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `LocalResource()`

  - ### Method Summary

    All Methods Static Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `abstract String` | `getPattern()` Get the pattern that should be used to extract entries from the archive (only used when type is `PATTERN`).
    `abstract URL` | `getResource()` Get the location of the resource to be localized.
    `abstract boolean` | `getShouldBeUploadedToSharedCache()` NM uses it to decide whether if it is necessary to upload the resource to the shared cache
    `abstract long` | `getSize()` Get the size of the resource to be localized.
    `abstract long` | `getTimestamp()` Get the original timestamp of the resource to be localized, used for verification.
    `abstract LocalResourceType` | `getType()` Get the `LocalResourceType` of the resource to be localized.
    `abstract LocalResourceVisibility` | `getVisibility()` Get the `LocalResourceVisibility` of the resource to be localized.
    `static LocalResource` | `newInstance(URL url, LocalResourceType type, LocalResourceVisibility visibility, long size, long timestamp)`
    `static LocalResource` | `newInstance(URL url, LocalResourceType type, LocalResourceVisibility visibility, long size, long timestamp, boolean shouldBeUploadedToSharedCache)`
    `static LocalResource` | `newInstance(URL url, LocalResourceType type, LocalResourceVisibility visibility, long size, long timestamp, String pattern)`
    `static LocalResource` | `newInstance(URL url, LocalResourceType type, LocalResourceVisibility visibility, long size, long timestamp, String pattern, boolean shouldBeUploadedToSharedCache)`
    `abstract void` | `setPattern(String pattern)` Set the pattern that should be used to extract entries from the archive (only used when type is `PATTERN`).
    `abstract void` | `setResource(URL resource)` Set location of the resource to be localized.
    `abstract void` | `setShouldBeUploadedToSharedCache(boolean shouldBeUploadedToSharedCache)` Inform NM whether upload to SCM is needed.
    `abstract void` | `setSize(long size)` Set the size of the resource to be localized.
    `abstract void` | `setTimestamp(long timestamp)` Set the timestamp of the resource to be localized, used for verification.
    `abstract void` | `setType(LocalResourceType type)` Set the `LocalResourceType` of the resource to be localized.
    `abstract void` | `setVisibility(LocalResourceVisibility visibility)` Set the `LocalResourceVisibility` of the resource to be localized.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### LocalResource

          public LocalResource()

  - ### Method Detail

    - #### newInstance

          @InterfaceAudience.Public
           @InterfaceStability.Stable
          public static LocalResource newInstance(URL url,
                                                                                                        LocalResourceType type,
                                                                                                        LocalResourceVisibility visibility,
                                                                                                        long size,
                                                                                                        long timestamp,
                                                                                                        String pattern)

    - #### newInstance

          @InterfaceAudience.Public
           @InterfaceStability.Unstable
          public static LocalResource newInstance(URL url,
                                                                                                          LocalResourceType type,
                                                                                                          LocalResourceVisibility visibility,
                                                                                                          long size,
                                                                                                          long timestamp,
                                                                                                          String pattern,
                                                                                                          boolean shouldBeUploadedToSharedCache)

    - #### newInstance

          @InterfaceAudience.Public
           @InterfaceStability.Stable
          public static LocalResource newInstance(URL url,
                                                                                                        LocalResourceType type,
                                                                                                        LocalResourceVisibility visibility,
                                                                                                        long size,
                                                                                                        long timestamp)

    - #### newInstance

          @InterfaceAudience.Public
           @InterfaceStability.Unstable
          public static LocalResource newInstance(URL url,
                                                                                                          LocalResourceType type,
                                                                                                          LocalResourceVisibility visibility,
                                                                                                          long size,
                                                                                                          long timestamp,
                                                                                                          boolean shouldBeUploadedToSharedCache)

    - #### getResource

          @InterfaceAudience.Public
           @InterfaceStability.Stable
          public abstract URL getResource()

      Get the location of the resource to be localized.
      Returns:
        location of the resource to be localized

    - #### setResource

          @InterfaceAudience.Public
           @InterfaceStability.Stable
          public abstract void setResource(URL resource)

      Set location of the resource to be localized.
      Parameters:
        `resource` - location of the resource to be localized

    - #### getSize

          @InterfaceAudience.Public
           @InterfaceStability.Stable
          public abstract long getSize()

      Get the size of the resource to be localized.
      Returns:
        size of the resource to be localized

    - #### setSize

          @InterfaceAudience.Public
           @InterfaceStability.Stable
          public abstract void setSize(long size)

      Set the size of the resource to be localized.
      Parameters:
        `size` - size of the resource to be localized

    - #### getTimestamp

          @InterfaceAudience.Public
           @InterfaceStability.Stable
          public abstract long getTimestamp()

      Get the original timestamp of the resource to be localized, used for verification.
      Returns:
        timestamp of the resource to be localized

    - #### setTimestamp

          @InterfaceAudience.Public
           @InterfaceStability.Stable
          public abstract void setTimestamp(long timestamp)

      Set the timestamp of the resource to be localized, used for verification.
      Parameters:
        `timestamp` - timestamp of the resource to be localized

    - #### getType

          @InterfaceAudience.Public
           @InterfaceStability.Stable
          public abstract LocalResourceType getType()

      Get the `LocalResourceType` of the resource to be localized.
      Returns:
        `LocalResourceType` of the resource to be localized

    - #### setType

          @InterfaceAudience.Public
           @InterfaceStability.Stable
          public abstract void setType(LocalResourceType type)

      Set the `LocalResourceType` of the resource to be localized.
      Parameters:
        `type` - `LocalResourceType` of the resource to be localized

    - #### getVisibility

          @InterfaceAudience.Public
           @InterfaceStability.Stable
          public abstract LocalResourceVisibility getVisibility()

      Get the `LocalResourceVisibility` of the resource to be localized.
      Returns:
        `LocalResourceVisibility` of the resource to be localized

    - #### setVisibility

          @InterfaceAudience.Public
           @InterfaceStability.Stable
          public abstract void setVisibility(LocalResourceVisibility visibility)

      Set the `LocalResourceVisibility` of the resource to be localized.
      Parameters:
        `visibility` - `LocalResourceVisibility` of the resource to be localized

    - #### getPattern

          @InterfaceAudience.Public
           @InterfaceStability.Stable
          public abstract String getPattern()

      Get the pattern that should be used to extract entries from the archive (only used when type is `PATTERN`).
      Returns:
        pattern that should be used to extract entries from the archive.

    - #### setPattern

          @InterfaceAudience.Public
           @InterfaceStability.Stable
          public abstract void setPattern(String pattern)

      Set the pattern that should be used to extract entries from the archive (only used when type is `PATTERN`).
      Parameters:
        `pattern` - pattern that should be used to extract entries from the archive.

    - #### getShouldBeUploadedToSharedCache

          @InterfaceAudience.Public
           @InterfaceStability.Unstable
          public abstract boolean getShouldBeUploadedToSharedCache()

      NM uses it to decide whether if it is necessary to upload the resource to the shared cache
      Returns:
        true if it is necessary to upload the resource to the shared cache, false otherwise

    - #### setShouldBeUploadedToSharedCache

          @InterfaceAudience.Public
           @InterfaceStability.Unstable
          public abstract void setShouldBeUploadedToSharedCache(boolean shouldBeUploadedToSharedCache)

      Inform NM whether upload to SCM is needed.
      Parameters:
        `shouldBeUploadedToSharedCache` - shouldBeUploadedToSharedCache of this request

Copyright © 2022 Apache Software Foundation. All rights reserved.