MaxCompute prend en charge quatre types de données complexes : ARRAY, MAP, STRUCT et JSON. Cette rubrique décrit les fonctions et les caractéristiques du type de données JSON.
Index
|
Fonction |
Caractéristiques |
|
Renvoie un type ARRAY, MAP ou STRUCT à partir d'une chaîne JSON selon le format de sortie spécifié. |
|
|
Extrait une chaîne d'une chaîne JSON à l'aide d'un chemin d'accès spécifié. |
|
|
Transforme un objet JSON, qui peut être vide, en un tableau JSON contenant cet objet. |
|
|
Vérifie si un document JSON contient un élément JSON spécifié. |
|
|
Vérifie si un JSONPath spécifié existe dans un document JSON. |
|
|
Développe chaque élément d'un tableau JSON ou d'un objet JSON en plusieurs lignes. |
|
|
Extrait des données d'une chaîne JSON ou d'un type de données JSON sur la base d'un JSONPath spécifié. |
|
|
Convertit un type de données JSON en chaîne. La sortie n'est pas mise en forme par défaut. |
|
|
Insère une valeur JSON à une position spécifiée dans un document JSON. |
|
|
Renvoie la longueur des données JSON situées à un chemin d'accès spécifié. |
|
|
Génère un objet JSON à partir de paires clé-valeur. |
|
|
Convertit une chaîne en type de données JSON. Une erreur est renvoyée si la chaîne n'est pas au format JSON valide. |
|
|
Met en forme une chaîne JSON pour la rendre plus lisible en ajoutant des sauts de ligne et des espaces. |
|
|
Remplace une valeur existante ou ajoute une nouvelle valeur à un chemin d'accès spécifié dans un document JSON. |
|
|
Supprime tous les champs ou éléments dont la valeur est |
|
|
Extrait des chaînes d'une chaîne JSON standard pour un groupe de clés spécifié. |
|
|
Renvoie le nom du type d'une valeur JSON. |
|
|
Supprime les guillemets d'une chaîne JSON. |
|
|
Vérifie si une chaîne est un JSON valide. |
|
|
Convertit un type de données complexe spécifié en chaîne JSON. |
Notes d'utilisation
-
Exigences relatives à la version du SDK
Seules les versions Java SDK V0.44.0 et ultérieures sont prises en charge.
Seules les versions PyODPS V0.11.4.1 et ultérieures sont prises en charge.
-
Limites des opérations sur les tables
Vous ne pouvez pas ajouter de colonne JSON à une table.
Les tables clusterisées ne sont pas prises en charge.
Les tables de type Delta Table ne sont pas prises en charge.
-
Limites des opérations SQL
Les opérations de comparaison sur le type JSON ne sont pas prises en charge.
Vous ne pouvez pas utiliser les clauses
ORDER BYouGROUP BYsur le type JSON. Vous ne pouvez pas non plus utiliser une colonne de type JSON comme cléJOIN.
-
Précision des données
La partie entière d'un JSON NUMBER est stockée sous forme de type BIGINT. Un dépassement de capacité se produit si l'entier sort de la plage BIGINT.
La partie décimale d'un JSON NUMBER est stockée sous forme de type DOUBLE. Une perte de précision peut survenir lors de la conversion de la partie décimale vers le type DOUBLE.
Limites de caractères : Le caractère Unicode
\u0000n'est pas pris en charge dans les chaînes utilisées pour générer des données JSON.Compatibilité du moteur : Si vous utilisez un autre moteur, tel que Hologres, pour lire les données d'une table, le type de données JSON ne peut pas être lu.
Les UDF Java et les UDF Python ne prennent pas en charge le type JSON.
Le type de données JSON peut être imbriqué jusqu'à 20 niveaux de profondeur.
-
Outils de développement
Les outils de développement pris en charge incluent le client MaxCompute (odpscmd), MaxCompute Studio et DataWorks. Les écosystèmes externes tels que Dataphin ne sont pas pris en charge. Si vous souhaitez utiliser le type de données JSON avec un système externe, vous devez confirmer sa compatibilité avant de commencer. Lorsque vous utilisez le client odpscmd, tenez compte des points suivants :
Vous devez mettre à niveau le client vers la version V0.46.5 ou ultérieure. Sinon, vous ne pourrez pas exécuter la commande
DESC json_tableni télécharger les données JSON à l'aide de Tunnel.Dans le fichier
conf\odps_config.inisitué dans le chemin d'installation du client, définissez le paramètreuse_instance_tunnelsurfalse. Sinon, les requêtes échoueront.
Références
Pour plus d'informations sur le type de données JSON, consultez la rubrique Type de données JSON.