谁能帮我解决这个错误

Can anyone help me with this error

我正在尝试从 azure data lake 获取一些数据到 azure datawarehouse,但是我无法做到我已经按照文档进行操作 link

https://docs.microsoft.com/en-us/azure/sql-data-warehouse/sql-data-warehouse-load-from-azure-data-lake-store

但是当我尝试创建外部 table 时出现此错误,我创建了另一个 web/api 应用程序但仍然无法访问该应用程序这里是我的错误正面临

EXTERNAL TABLE access failed due to internal error: 'Java exception raised on call to HdfsBridge_IsDirExist. Java exception message:
GETFILESTATUS failed with error 0x83090aa2 (Forbidden. ACL verification failed. Either the resource does not exist or the user is not authorized to perform the requested operation.). [0ec4b8e0-b16d-470e-9c98-37818176a188][2017-08-14T02:30:58.9795172-07:00]: Error [GETFILESTATUS failed with error 0x83090aa2 (Forbidden. ACL verification failed. Either the resource does not exist or the user is not authorized to perform the requested operation.). [0ec4b8e0-b16d-470e-9c98-37818176a188][2017-08-14T02:30:58.9795172-07:00]] occurred while accessing external file.'

这是我试图让它工作的脚本

CREATE DATABASE SCOPED CREDENTIAL ADLCredential2
WITH
    IDENTITY = '2ec11315-5a30-4bea-9428-e511bf3fa8a1@https://login.microsoftonline.com/24708086-c2ce-4b77-8d61-7e6fe8303971/oauth2/token',
    SECRET = '3Htr2au0b0wvmb3bwzv1FekK88YQYZCUrJy7OB3NzYs='
;

CREATE EXTERNAL DATA SOURCE AzureDataLakeStore11
WITH (
    TYPE = HADOOP,
    LOCATION = 'adl://test.azuredatalakestore.net/',
    CREDENTIAL = ADLCredential2
);

CREATE EXTERNAL FILE FORMAT TextFileFormat
WITH
(   FORMAT_TYPE = DELIMITEDTEXT
,    FORMAT_OPTIONS    (   FIELD_TERMINATOR = '|'
                    ,    DATE_FORMAT         = 'yyyy-MM-dd HH:mm:ss.fff'
                    ,    USE_TYPE_DEFAULT = FALSE
                    )
);

CREATE EXTERNAL TABLE [extccsm].[external_medication] 
(
   person_id              varchar(4000),
   encounter_id           varchar(4000),
   fin                    varchar(4000),
   mrn                    varchar(4000),
   icd_code               varchar(4000),
   icd_description        varchar(300),
   priority               integer,
   optional1              varchar(4000),
   optional2              varchar(4000),
   optional3              varchar(4000),
   load_identifier        varchar(4000),
   upload_time            datetime2,
   xx_person_id           varchar(4000),--Person ID is the ID that we will use to represent the person through out the process uniquely, This requires initial analysis to determine how to set it
   xx_encounter_id        varchar(4000),--Encounter ID is the ID that will represent the encounter uniquely through out the process, This requires initial analysis to determine hos to set it based on client data
   mod_optional1      varchar(4000),
   mod_optional2      varchar(4000),
   mod_optional3      varchar(4000),
   mod_optional4      varchar(4000),
   mod_optional5      varchar(4000),
   mod_loadidentifier     datetime2 
)
WITH 
(
    LOCATION='\testfiles\procedure_azure.txt000\',
    DATA_SOURCE = AzureDataLakeStore11,   --DATA SOURCE THE BLOB STORAGE
    FILE_FORMAT = TextFileFormat,   --TYPE OF FILE FORMAT
    REJECT_TYPE = percentage,
    REJECT_VALUE = 1,
    REJECT_SAMPLE_VALUE = 0
);

请告诉我这里有什么问题?

我可以重现这一点,但很难准确地缩小范围。我认为这与权限有关。来自 Azure 门户:

Data Lake Store > yourDataLakeAccount > your folder > Access

然后,确保您的 AD 应用程序对相关文件/文件夹具有 ReadWriteExecute 权限。一开始从一个文件开始。我可以通过分配/取消分配执行权限来重现错误,但需要重复这些步骤来确认。我将追溯我的步骤,但现在将您的搜索集中在这里。在下面的示例中,我的 Azure Active Directory 应用程序称为 adwAndPolybase;你可以看到我给了它 ReadWriteExecute。我还尝试了 Advanced 和 'Apply to children' 选项: