Errori di PolyBase e possibili soluzioni

Si applica a: sìSQL Server (tutte le versioni supportate)

Questo articolo contiene scenari di errore comuni e soluzioni per PolyBase.

Per altre informazioni sul monitoraggio e la risoluzione dei problemi di PolyBase, vedere Monitorare e risolvere i problemi di PolyBase.

Per i percorsi comuni dei file di log di PolyBase in Windows e Linux, vedere Monitorare e risolvere i problemi di PolyBase.

Messaggi di errore e possibili soluzioni

Errore: "100001; Impossibile generare il piano di query"

L'errore "Impossibile generare il piano di query" può verificarsi quando al motore di database di SQL Server è stata patchta almeno l'aggiornamento cumulativo 8 (15.0.4073), ma la funzionalità PolyBase non è stata aggiornata alla stessa build. Ciò può verificarsi quando si aggiunge la funzionalità PolyBase a un'istanza SQL Server esistente. Per altre informazioni, vedere Errore di PolyBase - 100001; Impossibile generare il piano di query.

Completare sempre l'installazione della funzionalità PolyBase riportando la nuova funzionalità allo stesso livello di versione. Installare Service Pack, aggiornamenti cumulativi e/o gDR (General Distribution Release) in base alle esigenze. Per determinare la versione di PolyBase, vedere Determinare la versione, l'edizione e il livello di aggiornamento SQL Server e i relativi componenti.

Modifica dell'account del servizio

Messaggio di errore di esempio:

107035; L'autorizzazione Dms non è riuscita perché [DOMAIN\user] non è membro del gruppo [PdwDataMovementAccess]
107017;Intestazione del controllo DMS non valida:

Questo errore è probabilmente dovuto alla modifica dell'account del servizio PolyBase. Per modificare gli account del servizio per il motore PolyBase e PolyBase Data Movement Service, disinstallare e reinstallare la funzionalità PolyBase.

Errori relativi alle autorizzazioni del servizio di spostamento dati

Per altre informazioni sulla risoluzione dei problemi relativi alle autorizzazioni con il servizio di spostamento dati, vedere Autorizzazioni dell'account del servizio PolyBase ed errori comuni osservati quando mancano.

Windows errore di autenticazione

Per altre informazioni sulla risoluzione dei problemi di autorizzazione correlati a un errore nell'autenticazione Windows, vedere Autorizzazioni dell'account del servizio PolyBaseed errori comuni osservati quando mancano.

Impossibile eseguire la query "Remote Query"

Messaggio di errore di esempio:

Msg 7320, Livello 16, Stato 110, Riga 14
Impossibile eseguire la query "Remote Query" sul provider OLE DB "SQLNCLI11" per il server collegato "(null)". Query interrotta: è stata raggiunta la soglia massima di rifiuto (0 righe) durante la lettura da un'origine esterna: 1 righe rifiutate su un totale di 1 righe elaborate. (/sensors.ldjson.txt) Ordinale di colonna: 0, tipo di dati previsto: INT, Valore non valido: {"id":"S2740036465E2B","time":"2016-02-26T16:59:02.9300000Z","temp":23.3,"periodo":0.77,"wind":17,"press":1032,"loc":[-76.90914996169623,38.8929314364726]} (Errore di conversione colonna), Errore: Errore durante la conversione del tipo di dati NVARCHAR in INT.

Tenere presente che potrebbero esserci derivazioni di questo errore. Il nome del primo file rifiutato viene visualizzato in SQL Server Management Studio (SSMS) con tipi di dati o valori che causano problemi.

Possibile motivo:
Questo errore si verifica perché ogni file ha uno schema diverso. Il DDL della tabella esterna PolyBase quando punta a una directory legge in modo ricorsivo tutti i file in tale directory. Quando si verifica una mancata corrispondenza di una colonna o di un tipo di dati, questo errore potrebbe essere visualizzato in SSMS.

Possibile soluzione:
Se i dati per ogni tabella sono costituiti da un file, usare il nome file nella sezione LOCATION preceduto dalla directory dei file esterni. Se sono presenti più file per tabella, inserire ogni set di file in directory diverse in Blob Archiviazione Azure. Puntare LOCATION alla directory anziché a un file specifico. Questa soluzione è consigliata.

Esempio:

Create External Table foo
(col1 int)WITH (LOCATION='/bar/foobar.txt',DATA_SOURCE…); OR
Create External Table foo
(col1 int) WITH (LOCATION = '/bar/', DATA_SOURCE…);

Supporto per Kerberos

SQL Server è configurato per accedere a un cluster Hadoop supportato. La sicurezza Kerberos non viene applicata nel cluster Hadoop.

La selezione dalla tabella esterna restituisce l'errore seguente:

Msg 105019, Livello 16, Stato 1, Riga 55
L'accesso a EXTERNAL TABLE non è riuscito a causa di un errore interno: "Eccezione Java generata durante la chiamata a HdfsBridge_Connect: Errore [Impossibile creare un'istanza di LoginClass] durante l'accesso al file esterno".
Msg 7320, Livello 16, Stato 110, Riga 55
Impossibile eseguire la query "Remote Query" sul provider OLE DB "SQLNCLI11" per il server collegato "(null)". L'accesso a EXTERNAL TABLE non è riuscito a causa di un errore interno: "Eccezione Java generata durante la chiamata a HdfsBridge_Connect: Errore [Impossibile creare un'istanza di LoginClass] durante l'accesso al file esterno".

L'interrogazione del log del server DWEngine mostra l'errore seguente:

[Thread:16432] [EngineInstrumentation:EngineQueryErrorEvent] (Errore, Alto):
Accesso a EXTERNAL TABLE non riuscito a causa di un errore interno: "Eccezione Java generata durante la chiamata a HdfsBridge_Connect: Errore [com.microsoft.polybase.client.KerberosSecureLogin] durante l'accesso al file esterno". Microsoft.SqlServer.DataWarehouse.Common.ErrorHandling.MppSqlException: EXTERNAL TABLE access failed due to internal error: 'Java exception raised on call to HdfsBridge_Connect: Error [com.microsoft.polybase.client.KerberosSecureLogin] occurred while accessing external file. ---> Microsoft.SqlServer.DataWarehouse.DataMovement.Common.ExternalAccess.HdfsAccessException: Eccezione Java generata durante la chiamata a HdfsBridge_Connect: Errore [com.microsoft.polybase.client.KerberosSecureLogin] durante l'accesso al file esterno.

Possibile motivo:
Kerberos non è abilitato nel cluster Hadoop, ma la sicurezza Kerberos è abilitata in core-site.xml, yarn-site.xml o nel hdfs-site.xml disponibile per impostazione predefinita in Programmi\Microsoft SQL Server\MSSQL13. MSSQLSERVER\MSSQL\Binn\Polybase\Hadoop\conf. In Linux i file si trovano per impostazione predefinita in /var/opt/mssql/binn/polybase/hadoop/conf/.

Possibile soluzione:
Impostare come commento le informazioni di sicurezza Kerberos dai file indicati in precedenza.

Per altre informazioni sulla risoluzione dei problemi relativi a PolyBase e Kerberos, vedere Risolvere i problemi di connettività di PolyBase Kerberos.

Errore interno di Query Processor

L'esecuzione di query su una tabella esterna restituisce l'errore seguente:

Msg 8680, Livello 17, Stato 5, Riga 118
Errore interno di Query Processor: errore imprevisto durante l'elaborazione di una fase di query remota.

Il log del server DWEngine contiene i messaggi seguenti:

[Thread:5216] [ControlNodeMessenger:ErrorEvent] (Errore, Alto): ***** Il sistema servizio Gestione dei dati ha nodi disconnessi:
[Thread:5216] [ControlNodeMessenger:ErrorEvent] (Errore, Alto): ***** Il sistema servizio Gestione dei dati ha nodi disconnessi:
[Thread:5216] [ControlNodeMessenger:ErrorEvent] (Errore, Alto): ***** Il sistema servizio Gestione dei dati ha nodi disconnessi:

Possibile motivo:
Il motivo di questo errore potrebbe essere che SQL Server non è stato riavviato dopo la configurazione di PolyBase.

Possibile soluzione:
Riavviare SQL Server. Controllare il log del server DWEngine per verificare che non siano presenti disconnessioni da DmS dopo il riavvio.

Utente necessario per l'accesso a HDFS

Scenario:
SQL Server è connesso a un cluster Hadoop non protetto (Kerberos non è abilitato). PolyBase è configurato per eseguire il push del calcolo nel cluster Hadoop.

Query di esempio:

select count(*) from foo WITH (FORCE EXTERNALPUSHDOWN);

Viene restituito un messaggio di errore simile al seguente:

Msg 105019, Livello 16, Stato 1, Riga 1
L'accesso a EXTERNAL TABLE non è riuscito a causa di un errore interno: 'Eccezione Java generata durante la chiamata a JobSubmitter_PollJobStatus: Errore [java.net.ConnectException: Chiamata da big1506sql2016/172.16.1.4 a 0.0.0.0:10020 non riuscita sull'eccezione di connessione: java.net ConnectException: Connessione rifiutata: non sono disponibili altre informazioni. Per altre informazioni, vedere: http://wiki.apache.org/hadoop/ConnectionRefused ] si è verificato durante l'accesso al file esterno."
OLE DB provider "SQLNCLI11" per il server collegato "(null)" ha restituito il messaggio "Errore non specificato".
Msg 7421, Livello 16, Stato 2, Riga 1
Impossibile recuperare il set di righe OLE DB provider "SQLNCLI11" per il server collegato "(null)". .

Errore del log Yarn di Hadoop:

La configurazione del processo non è riuscita: org.apache.hadoop.security.AccessControlException: Autorizzazione negata: user=pdw_user, access=WRITE, inode="/user":hdfs:hdfs:drwxr-xr-x at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkFsPermission(FSPermissionChecker.java:265) at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.check(FSPermissionChecker.java:251) at org.apache.had.hadoop.hdfs.server.namenode.FSPermissionChecker.check(FSPermissionChecker.java:232) org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkPermission(FSPermissionChecker.java:176) at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.checkPermission(FSNamesystem.java:5525)

Possibile motivo:
Con Kerberos disabilitato, PolyBase userà pdw_user come utente per accedere a HDFS e inviare MapReduce processi.

Possibile soluzione:
Creare pdw_user in Hadoop e assegnargli autorizzazioni sufficienti per le directory usate durante l'elaborazione di MapReduce. Assicurarsi anche che pdw_user sia il proprietario della directory /user/pdw_user HDFS.

Di seguito è riportato un esempio di come creare la home directory e assegnare le autorizzazioni per pdw_user:

sudo -u hdfs hadoop fs -mkdir /user/pdw_user
sudo -u hdfs hadoop fs -chown pdw_user /user/pdw_user

Assicurarsi quindi che l'pdw_user abbia autorizzazioni di lettura, scrittura ed esecuzione nella directory /user/pdw_user. Assicurarsi che la directory /tmp abbia 777 autorizzazioni.

Per altre informazioni sulla risoluzione dei problemi relativi a PolyBase e Kerberos, vedere Risolvere i problemi di connettività di PolyBase Kerberos.

Errore di memoria Java causato da UTF-8

Scenario:
SQL Server PolyBase è configurato con cluster Hadoop o blob di Azure Archiviazione. Qualsiasi query Select ha esito negativo con l'errore seguente:

Msg 106000, Livello 16, Stato 1, Riga 1
Spazio dell'heap di Java

Motivo possibile:
L'input non valido può causare l'errore di memoria insufficiente nel linguaggio Java. Il file potrebbe non essere in formato UTF-8. DmS tenta di leggere l'intero file come una riga perché non è in grado di decodificare il delimitatore di riga ed esegue l'errore di spazio heap Java.

Possibile soluzione:
Convertire il file in formato UTF-8 perché PolyBase richiede attualmente il formato UTF-8 per i file delimitati da testo.

Configurazione della connettività Hadoop

La configurazione SQL Server PolyBase per la connessione a Blob di Azure Archiviazione viene restituito il messaggio di errore seguente in SQL Server:

Msg 105019, Livello 16, Stato 1, Riga 74
Accesso EXTERNAL TABLE non riuscito a causa di un errore interno: 'Eccezione Java generata durante la chiamata a HdfsBridge_Connect: Errore [Nessun file system per schema: wasbs] durante l'accesso al file esterno.'

Motivo possibile:
La connettività Hadoop non è impostata sul valore di configurazione per l'accesso all'archiviazione BLOB di Azure.

Possibile soluzione:
Impostare la connettività Hadoop su un valore (preferibilmente 7) che supporta l'Archiviazione BLOB di Azure e riavviare SQL Server. Per un elenco dei valori di connettività e dei tipi supportati, vedere Configurazione della connettività PolyBase.

Create Table As Select errore

Scenario:
Il tentativo di esportare dati nell'archiviazione BLOB di Azure o in Hadoop file system usando PolyBase con la sintassi CREATE EXTERNAL TABLE AS SELECT (CETAS) da SQL Server ha esito negativo e viene visualizzato il messaggio di errore seguente:

Msg 156, Livello 15, Stato 1, Riga 177
Sintassi non corretta vicino alla parola chiave 'WITH'.
Msg 319, Livello 15, Stato 1, Riga 177
Sintassi non corretta in prossimità della parola chiave 'with'. Se l'istruzione è un'espressione di tabella comune, una clausola xmlnamespaces o una clausola context per il rilevamento delle modifiche, l'istruzione precedente deve terminare con un punto e virgola (;).

Motivo possibile:
Quando si esportano dati in Hadoop o in Archiviazione BLOB di Azure tramite PolyBase, vengono esportati solo i dati e non i nomi di colonne (metadati) definiti nel comando CREATE EXTERNAL TABLE.

Possibile soluzione:
Creare prima la tabella esterna e quindi usare INSERT INTO SELECT per l'esportazione nella posizione esterna. Per un esempio di codice, vedere Scenari di query PolyBase.

La creazione di una tabella esterna dall'archivio BLOB di Azure ha esito negativo

Scenario:
Il pool SQL dedicato (in precedenza SQL DW) è configurato per importare dati dall'archiviazione BLOB di Azure. La creazione di una tabella esterna ha esito negativo con il messaggio seguente.

Msg 105019, Livello 16, Stato 1, Riga 34
Accesso TABLE esterno non riuscito a causa di un errore interno: 'Eccezione Java generata alla chiamata a HdfsBridge_IsDirExist. Messaggio di eccezione Java:com.microsoft.azure.storage.StorageException: Il server non è riuscito ad autenticare la richiesta. Assicurarsi che il valore dell'intestazione Authorization sia formato correttamente, inclusa la firma. Errore [com.microsoft.azure.storage.StorageException: Il server non è riuscito ad autenticare la richiesta. Assicurarsi che il valore dell'intestazione Authorization sia formato correttamente, inclusa la firma. si è verificato durante l'accesso al file esterno."

Motivo possibile:
È stata usata una chiave di archiviazione di Azure errata per creare le credenziali con ambito database.

Possibile soluzione:
Eliminare tutti gli oggetti correlati(ad esempio, origine dati, formato di file) e quindi eliminare e ricreare le credenziali con ambito database con la chiave di archiviazione giusta.

Maiuscole/minuscole per la configurazione Kerberos

Scenario:
SQL Server è configurato con il cluster Cloudera abilitato per Kerberos. SQL Server è stato riavviato dopo tutte le modifiche di configurazione. Il motore PolyBase e i PolyBase Data Movement sono in esecuzione dopo il riavvio. Vengono restituiti i messaggi di errore seguenti:

Origine dati configurata senza posizione del tracciamento dei processi:

org.apache.hadoop.fs.FileSystem: Impossibile creare un'istanza del provider org.apache.hadoop.fs.viewfs.ViewFileSystem

Origine dati configurata con il percorso del tracciamento dei processi:

Errore [Impossibile ottenere l'area di autenticazione Kerberos] durante l'accesso al file esterno

Motivo possibile:
Il valore della proprietà "hadoop.security.authentication" indica kerberos nel Coresite.xml.

Possibile soluzione:
Coresite.xml proprietà "hadoop.security.authentication" di Coresite.xml deve essere KERBEROS (tutte maiuscole) come valore.

Per altre informazioni sulla risoluzione dei problemi di PolyBase e Kerberos, vedere Risolvere i problemi di connettività Kerberos di PolyBase.

Mapred-site.xml valori necessari mancanti

Scenario:
SQL Server o piattaforma di strumenti analitici è configurato con il cluster HDP supportato. Le query che non richiedono il lavoro pushdown, ma hanno esito negativo con il messaggio seguente quando viene usato l'hint 'FORCE PUSHDOWN' con i messaggi di errore seguenti:

Msg 7320, Livello 16, Stato 110, Riga 35
Impossibile eseguire la query "Remote Query" sul provider OLE DB "SQLNCLI11" per il server collegato "(null)". Accesso a EXTERNAL TABLE non riuscito a causa di un errore interno: 'Eccezione Java generata alla chiamata a JobSubmitter_PollJobStatus: Errore [org.apache.hadoop.ipc.RemoteException(java.lang.NullPointerException): java.lang.NullPointerException
in org.apache.hadoop.mapreduce.v2.hs.HistoryClientService$HSClientProtocolHandler.getTaskAttemptCompletionEvents(HistoryClientService.java:277)
in org.apache.hadoop.mapreduce.v2.api.impl.pb.service.MRClientProtocolPBServiceImpl.getTaskAttemptCompletionEvents(MRClientProtocolPBServiceImpl.java:173)
in org.apache.hadoop.yarn.proto.MRClientProtocol$MRClientProtocolService$2.callBlockingMethod(MRClientProtocol.java:283)
all'indirizzo org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:619)
in org.apache.hadoop.ipc.RPC$Server.call(RPC.java:962)
in org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2127)
in org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2123)
in java.security.AccessController.doPrivileged(Native Method)
in javax.security.auth.Subject.doAs(Subject.java:415)
in org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1671)
in org.apache.hadoop.ipc.Server$Handler.run(Server.java:2121)
] si è verificato durante l'accesso al file esterno."

Motivo possibile:
Mapred-site.xml mancano alcuni valori necessari che controllano i risultati intermedi e finali.

Possibile soluzione:
Aggiungere le proprietà seguenti e associare i valori corretti come mostrato in Ambari nel file mapred-site.xml in SQL Server.

<property>
<name>yarn.app.mapreduce.am.staging-dir</name>
<value>/user</value>
</property>
<property>
<name>mapreduce.jobhistory.done-dir</name>
<value>/mr-history/done</value>
</property>
<property>
<name>mapreduce.jobhistory.intermediate-done-dir</name>
<value>/mr-history/tmp</value>
</property>

Configurazione dell'accesso in base al nome host

Scenario:
SQL Server è configurato per accedere a un cluster Hadoop supportato. La creazione di una tabella esterna restituisce uno degli errori seguenti:

Impossibile eseguire la query "Remote Query" sul provider OLE DB "SQLNCLI11" per il server collegato "(null)". 110802; Si è verificato un errore interno del servizio di gestione dei dati che ha causato l'esito negativo dell'operazione. Dettagli: Eccezione: Microsoft.SqlServer.DataWarehouse.DataMovement.Workers.DmsSqlNativeException, Messaggio: SqlNativeBufferReader.Run, errore in OdbcExecuteQuery: SqlState: 42000, NativeError: 8680, 'Error calling: SQLExecDirect(this->GetHstmt(), (SQLWCHAR *)statementText, SQL_NTS), SQL return code: -1 | SQL Informazioni sull'errore: SrvrMsgState: 26, SrvrSeverity: 17, Errore <1>: ErrorMsg: [Microsoft][ODBC Driver 13 per SQL Server][SQL Server]Errore interno di Query Processor: Query Processor ha rilevato un errore imprevisto durante l'elaborazione di una fase di query remota. | Errore durante la chiamata: pReadConn->ExecuteQuery(statementText, bufferFormat) | state: FFFF, numero: 24, connessioni attive: 8', Stringa di connessione: Driver={pdwodbc}; APP=RCSmall-DmsNativeReader:WAD1D16HD2001\mpdwsvc (3600)-ODBC-PoolId1433; Trusted_Connection=sì; AutoTranslate=no; Server= \ .\pipe\sql\query

[Thread:30544] [AbstractReaderWorker:ErrorEvent] (Errore, Alto): QueryId QID2433 PlanId 6c3a4551-e54c-4c06-a5ed-a8733edac691 StepId 7:
Impossibile ottenere il blocco: BP-1726738607-192.168.225.121-1443123675290:blk_1159687047_86196509 file=/user/hive/warehouse/u_data/0000000_0
Microsoft.SqlServer.DataWarehouse.Common.ErrorHandling.MppSqlException: Impossibile ottenere il blocco: BP-1726738607-192.168.225.121-1443123675290:blk_1159687047_86196509 file=/user/hive/warehouse/u_data/000000_0
in Microsoft.SqlServer.DataWarehouse.DataMovement.Common.ExternalAccess.HdfsBridgeReadAccess.Read(MemoryBuffer buffer, Boolean& isDone)
in Microsoft.SqlServer.DataWarehouse.DataMovement.Workers.DataReader.ExternalMoveBufferReader.Read()
in Microsoft.SqlServer.DataWarehouse.DataMovement.Workers.ExternalMoveReaderWorker.ReadAndSendData()
at Microsoft.SqlServer.DataWarehouse.DataMovement.Workers.ExternalMoveReaderWorker.Exe(stato dell'oggetto)

Motivo possibile:
Questo messaggio di errore può essere visualizzato quando il cluster Hadoop è configurato in una configurazione in cui i nodi dati sono accessibili solo all'esterno del cluster usando il nome host e non l'indirizzo IP.

Possibile soluzione:
Aggiungere il codice seguente hdfs-site.xml file sul lato client (SQL Server). Questa configurazione forza il nodo del nome a restituire un URI per i nodi dati con il nome host anziché l'indirizzo IP interno.

<property>
<name>dfs.client.use.datanode.hostname</name>
<value>true</value>
</property>

L'organizzazione delle cartelle impone un sovraccarico di memoria in eccesso

Scenario:
SQL Server esegue una query PolyBase in una directory con un numero elevato di file (>30.000 file nel percorso della directory in modo ricorsivo) e viene restituito uno dei messaggi di errore seguenti:

Msg 105019, Livello 16, Stato 1, Riga 1
Accesso EXTERNAL TABLE non riuscito a causa di un errore interno: 'Eccezione Java generata alla chiamata a HdfsBridge_GetFileNameByIndex. Messaggio di eccezione Java: è stato superato il limite di overhead GC: errore [limite di overhead GC superato] durante l'accesso al file esterno.'

Msg 105019, Livello 16, Stato 1, Riga 1
Accesso EXTERNAL TABLE non riuscito a causa di un errore interno: 'Eccezione Java generata alla chiamata a HdfsBridge_GetDirectoryFiles. Messaggio di eccezione Java: Spazio heap Java: si è verificato l'errore [spazio heap Java] durante l'accesso al file esterno.'

Motivo possibile:
Quando si elabora un percorso, PolyBase enumera tutti i file in tale percorso ed è presente un sovraccarico di memoria fisso associato alla struttura di dati usata per rappresentare i file. Con un numero elevato di file, questo sovraccarico diventa evidente e alla fine può utilizzare tutta la memoria disponibile per la JVM.

Possibile soluzione:
Ridisporre i dati in più directory in modo che ogni directory contenga un subset di file e quindi suddividere la query in più che operano su una parte del percorso originale alla volta e materializzare le tabelle come tabelle SQL Server (prima di unirle).

Esempio: si supponga che i dati della tabella esterna si trovano nella posizione seguente: Orders/file1.txt,...,file30K.txt.

Modificare il layout in modo che i dati vengono disposti in una struttura di partizione di file convenzionale in Orders/yyyy / mm / gg/file1.txt. Puntare la tabella esterna a un percorso di directory inferiore, ad esempio month(mm) o day(dd), importare i file in tabelle SQL Server in parti e quindi aggiungerli come parte di una tabella. Anche se si ha la struttura di directory giusta per iniziare, seguire il passaggio #2 per poter usare tale numero di file senza che la memoria JVM sia insufficiente.

Caratteri imprevisti nei file di configurazione

Scenario:
La configurazione SQL Server o piattaforma di strumenti analitici con un cluster Hadoop, che comporta la modifica di yarn-site.xml, hdfs-site.xml e altri file di configurazione. Viene visualizzato SQL Server messaggio di errore seguente:

Msg 105019, Livello 16, Stato 1, Riga 1
Microsoft.SqlServer.DataWarehouse.Common.ErrorHandling.MppSqlException: accesso EXTERNAL TABLE non riuscito a causa di un errore interno: 'Eccezione Java generata alla chiamata a HdfsBridge_Connect. Messaggio di eccezione Java:com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: Byte non valido 1 della sequenza UTF-8 a 1 byte. Errore [com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: Byte non valido 1 della sequenza UTF-8 a 1 byte durante l'accesso a un file esterno." --->

Motivo possibile:
Ciò può verificarsi se il testo è stato copiato e incollato nei file di configurazione da un sito Web o da una finestra di chat. È possibile che nei file di configurazione siano presenti caratteri indesiderati o non stampabili.

Possibile soluzione:
Aprire i file in un editor di testo diverso da blocco note e cercare questi caratteri ed eliminarli. Riavviare i servizi necessari.

Vedi anche