

 Amazon Redshift unterstützt UDFs ab Patch 198 nicht mehr die Erstellung von neuem Python. Das bestehende Python UDFs wird bis zum 30. Juni 2026 weiterhin funktionieren. Weitere Informationen finden Sie im [Blog-Posting](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Einschränkungen bei verschachtelten Daten (Vorschau)
<a name="nested-data-restrictions"></a>

In diesem Thema werden Einschränkungen beim Lesen verschachtelter Daten mit Redshift Spectrum beschrieben. Verschachtelte Daten sind Daten, die verschachtelte Felder enthalten. Verschachtelte Felder sind Felder, die zu einer einzelnen Einheit zusammengefügt sind, z. B. Arrays, Strukturen oder Objekte. 

**Anmerkung**  
Die in der folgenden Liste mit (Vorschau) gekennzeichneten Einschränkungen gelten nur für Vorschau-Cluster, die in den folgenden Regionen erstellt wurden.  
USA Ost (Ohio): (us-east-2)
USA Ost (Nord-Virginia): (us-east-1)
USA West (Nordkalifornien) (us-west-1)
Asien-Pazifik (Tokyo) (ap-northeast-1)
Europa (Irland) (eu-west-1)
Europa (Stockholm) (eu-north-1)
Weitere Informationen zum Einrichten von Vorschau-Clustern finden Sie unter [Erstellen eines Vorschau-Clusters](https://docs.aws.amazon.com/redshift/latest/mgmt/managing-clusters-console.html#cluster-preview) im *Amazon-Redshift-Verwaltungshandbuch*. 

Die folgenden Einschränkungen gelten für verschachtelte Daten:
+ Ein `array`- oder `map`-Typ kann andere `array`- oder `map`-Typen enthalten, sofern Abfragen für die verschachtelten `arrays` oder `maps` keine `scalar`-Werte zurückgeben. (Vorschau) 
+ Amazon Redshift Spectrum unterstützt komplexe Datentypen nur als externe Tabellen.
+  Die Ergebnisspalten der Unterabfrage müssen sich auf oberster Ebene befinden. (Vorschau)
+ Wenn sich ein `OUTER JOIN`-Ausdruck auf eine verschachtelte Tabelle bezieht, darf er sich nur auf die betreffende Tabelle und ihre verschachtelten Arrays (und Zuordnungen) beziehen. Wenn sich ein `OUTER JOIN`-Ausdruck nicht auf eine verschachtelte Tabelle bezieht, kann er sich auf eine beliebige Anzahl nicht verschachtelter Tabellen beziehen.
+ Wenn sich eine `FROM`-Klausel in einer Unterabfrage auf eine verschachtelte Tabelle bezieht, darf sie sich auf keine andere Tabelle beziehen.
+ Wenn eine Unterabfrage von einer verschachtelten Tabelle abhängig ist, die sich auf eine übergeordnete Tabelle bezieht, kann die Unterabfrage die übergeordnete Tabelle nur in der `FROM`-Klausel verwenden. Sie können die übergeordnete Tabelle in keiner anderen Klausel, wie z. B. einer `SELECT`- oder `WHERE`-Klausel, verwenden. Die folgende Abfrage wird beispielsweise nicht ausgeführt, da sich die `SELECT`-Klausel der Unterabfrage auf die übergeordnete Tabelle `c` bezieht. 

  ```
  SELECT c.name.given 
  FROM   spectrum.customers c 
  WHERE (SELECT COUNT(c.id) FROM c.phones p WHERE p LIKE '858%') > 1;
  ```

  Die folgende Abfrage funktioniert, da die übergeordnete Tabelle `c` nur in der `FROM`-Klausel der Unterabfrage verwendet wird.

  ```
  SELECT c.name.given 
  FROM   spectrum.customers c 
  WHERE (SELECT COUNT(*) FROM c.phones p WHERE p LIKE '858%') > 1;
  ```
+ Eine Unterabfrage, die an anderer Stelle als die `FROM`-Klausel auf verschachtelte Daten zugreift, muss einen einzelnen Wert zurückgeben. Die einzigen Ausnahmen sind `(NOT) EXISTS`-Operatoren in einer `WHERE`-Klausel.
+ `(NOT) IN` wird nicht unterstützt.
+ Die maximale Verschachtelungstiefe aller verschachtelter Typen ist 100. Diese Einschränkung gilt für alle Dateiformate (Parquet, ORC, Ion und JSON).
+ Aggregations-Unterabfragen, die auf verschachtelte Daten zugreifen, dürfen nur auf `arrays` und `maps` in ihrer `FROM`-Klausel verweisen, nicht auf eine externe Tabelle. 
+ Das Abfragen der Pseudospalten verschachtelter Daten in einer Redshift-Spectrum-Tabelle wird nicht unterstützt. Weitere Informationen finden Sie unter [Pseudospalten](c-spectrum-external-tables.md#c-spectrum-external-tables-pseudocolumns). 
+ Wenn Sie Daten aus Array- oder Map-Spalten extrahieren, indem Sie diese in einer `FROM`-Klausel angeben, können Sie nur Werte aus diesen Spalten auswählen, wenn es sich um `scalar`-Werte handelt. Die folgenden Abfragen versuchen beispielsweise beide, Elemente aus einem Array auszuwählen (`SELECT`). Die Abfrage, die `arr.a` auswählt, funktioniert, da es sich bei `arr.a` um einen `scalar`-Wert handelt. Die zweite Abfrage funktioniert nicht, da `array` ein Array ist, das in der `FROM`-Klausel aus `s3.nested table` extrahiert wurde. (Vorschau)

  ```
  SELECT array_column FROM s3.nested_table;
  
  array_column
  -----------------
  [{"a":1},{"b":2}]
                          
  SELECT arr.a FROM s3.nested_table t, t.array_column arr;
  
  arr.a
  -----
  1
  
  --This query fails to run.
  SELECT array FROM s3.nested_table tab, tab.array_column array;
  ```

  Sie können in der `FROM`-Klausel keine Arrays oder Maps verwenden, die selbst aus anderen Arrays oder Maps stammen. Um Arrays oder andere komplexe Strukturen auszuwählen, die in anderen Arrays verschachtelt sind, könnten Sie Indizes in der `SELECT`-Anweisung verwenden.