OSS-HDFS Service (JindoFS Service) est un produit de stockage de lac de données cloud-native. Une source de données OSS-HDFS offre un canal bidirectionnel pour lire et écrire dans OSS-HDFS. Cette rubrique décrit les capacités de synchronisation des données que DataWorks propose pour OSS-HDFS.
Fonctionnalités prises en charge
|
Fonctionnalité |
Prise en charge |
|
Lecture hors ligne |
Oui |
|
Écriture hors ligne |
Oui |
|
Écriture en temps réel |
Oui |
Limitations
Lecture hors ligne
La connexion réseau entre un groupe de ressources et OSS-HDFS peut être complexe. Pour exécuter des tâches de synchronisation des données, utilisez un groupe de ressources Serverless (recommandé) ou un groupe de ressources exclusif pour Data Integration. Assurez-vous que votre groupe de ressources peut accéder à OSS-HDFS via le réseau.
OSS-HDFS Reader prend en charge les éléments suivants :
Les fichiers aux formats texte, CSV, ORC et Parquet. Le contenu du fichier doit constituer une table logique à deux dimensions.
La lecture de plusieurs types de données et de constantes de colonne.
Les lectures récursives et les caractères génériques
*et?.Les lectures simultanées depuis plusieurs fichiers. Le nombre réel de threads simultanés correspond à la valeur la plus faible entre le nombre de fichiers à lire et le paramètre
concurrent.
OSS-HDFS Reader ne prend pas en charge les lectures simultanées multithread d'un seul fichier en raison de l'algorithme de découpage interne propre aux fichiers uniques.
Écriture hors ligne
OSS-HDFS Writer prend uniquement en charge les formats texte, ORC et Parquet. Le contenu du fichier doit constituer une table logique à deux dimensions.
Pour les fichiers texte, assurez-vous que le délimiteur de champ utilisé lors de l'écriture correspond au délimiteur défini lors de la création de la table Hive. Cela garantit que les données écrites dans OSS-HDFS sont correctement mappées aux champs de la table Hive.
Écriture en temps réel
Prend en charge les écritures en temps réel.
Prend en charge les écritures en temps réel pour la version 0.14.x du format Hudi.
Types de champs pris en charge
Lecture hors ligne
OSS-HDFS Reader convertit les types de données issus des formats ParquetFile, ORCFile, TextFile et CsvFile vers les types internes pris en charge par Data Integration.
|
Catégorie de type |
Types de données OSS-HDFS |
|
Entier |
TINYINT, SMALLINT, INT, BIGINT |
|
À virgule flottante |
FLOAT, DOUBLE, DECIMAL |
|
Chaîne |
STRING, CHAR, VARCHAR |
|
Date et heure |
DATE, TIMESTAMP |
|
Booléen |
BOOLEAN |
Les exemples suivants illustrent les représentations des types internes :
LONG : données entières dans un fichier OSS-HDFS, par exemple 123456789.
DOUBLE : données à virgule flottante dans un fichier OSS-HDFS, par exemple 3.1415.
BOOLEAN : données booléennes dans un fichier OSS-HDFS, telles que true ou false. La casse n'est pas prise en compte.
DATE : données de date et d'heure dans un fichier OSS-HDFS, par exemple 2014-12-31 00:00:00.
Écriture hors ligne
OSS-HDFS Writer écrit des fichiers aux formats TextFile, ORCFile et ParquetFile dans un chemin spécifié du système de fichiers OSS-HDFS.
|
Catégorie de type |
Types de données OSS-HDFS |
|
Entier |
TINYINT, SMALLINT, INT, BIGINT |
|
À virgule flottante |
FLOAT, DOUBLE |
|
Chaîne |
CHAR, VARCHAR, STRING |
|
Booléen |
BOOLEAN |
|
Date et heure |
DATE, TIMESTAMP |
Ajouter une source de données
Avant de développer une tâche de synchronisation dans DataWorks, ajoutez la source de données requise en suivant les instructions de la section Gestion des sources de données. Les descriptions des paramètres sont disponibles dans la console DataWorks lorsque vous ajoutez une source de données.
Développer une tâche de synchronisation des données
Configurer une tâche de synchronisation hors ligne pour une seule table
Pour obtenir des instructions détaillées, consultez les rubriques Configurer une tâche dans l'interface sans code et Configurer une tâche dans l'éditeur de code.
Pour consulter la liste complète des paramètres et un exemple de script, reportez-vous à la section Annexe : Démonstrations de scripts et descriptions des paramètres.
Configurer une tâche de synchronisation en temps réel pour une seule table
Consultez la rubrique Configurer la synchronisation incrémentielle en temps réel pour une seule table.
Configurer une tâche de synchronisation en temps réel complète et incrémentielle pour une base de données entière
Consultez la rubrique Configurer une tâche de synchronisation en temps réel pour une base de données entière.
Annexe : Démonstrations de scripts et descriptions des paramètres
Démonstration de script Reader
Tous les paramètres suivent le format de script unifié requis par l'éditeur de code. Pour plus de détails sur le format, consultez la rubrique Configurer une tâche dans l'éditeur de code.
{
"type": "job",
"version": "2.0",
"steps": [
{
"stepType": "oss_hdfs",
"parameter": {
"path": "",
"datasource": "",
"column": [
{
"index": 0,
"type": "string"
},
{
"index": 1,
"type": "long"
},
{
"index": 2,
"type": "double"
},
{
"index": 3,
"type": "boolean"
},
{
"format": "yyyy-MM-dd HH:mm:ss",
"index": 4,
"type": "date"
}
],
"fieldDelimiter": ",",
"encoding": "UTF-8",
"fileFormat": ""
},
"name": "Reader",
"category": "reader"
},
{
"stepType": "stream",
"parameter": {},
"name": "Writer",
"category": "writer"
}
],
"setting": {
"errorLimit": {
"record": ""
},
"speed": {
"concurrent": 3,
"throttle": true,
"mbps": "12"
}
},
"order": {
"hops": [
{
"from": "Reader",
"to": "Writer"
}
]
}
}
Paramètres du script Reader
|
Paramètre |
Description |
Obligatoire |
Valeur par défaut |
|
|
Chemin du fichier ou du répertoire à lire. Trois styles d'entrée sont pris en charge : OPTION 1 : Fichier unique — OSS-HDFS Reader utilise un seul thread pour lire le fichier. OPTION 2 : Plusieurs fichiers — OSS-HDFS Reader lit les fichiers de manière concurrente. Le nombre réel de threads correspond à la valeur la plus faible entre le nombre de fichiers et le paramètre |
Oui |
Aucune |
|
|
Type de fichier. Valeurs valides : |
Oui |
Aucune |
|
|
Liste des champs à lire. Définissez la valeur sur |
Oui |
Aucune |
|
|
Délimiteur de champ pour la lecture des données TextFile. Non requis pour les fichiers ORC ou Parquet. |
Non |
|
|
|
Encodage du fichier. |
Non |
|
|
|
Chaîne à traiter comme une valeur null. Par exemple, définir |
Non |
Aucune |
|
|
Format de compression. Valeurs valides : |
Non |
Aucune |
Démonstration de script Writer
{
"type": "job",
"version": "2.0",
"steps": [
{
"stepType": "stream",
"parameter": {},
"name": "Reader",
"category": "reader"
},
{
"stepType": "oss_hdfs",
"parameter": {
"path": "",
"fileName": "",
"compress": "",
"datasource": "",
"column": [
{
"name": "col1",
"type": "string"
},
{
"name": "col2",
"type": "int"
},
{
"name": "col3",
"type": "double"
},
{
"name": "col4",
"type": "boolean"
},
{
"name": "col5",
"type": "date"
}
],
"writeMode": "",
"fieldDelimiter": ",",
"encoding": "",
"fileFormat": "text"
},
"name": "Writer",
"category": "writer"
}
],
"setting": {
"errorLimit": {
"record": ""
},
"speed": {
"concurrent": 3,
"throttle": false
}
},
"order": {
"hops": [
{
"from": "Reader",
"to": "Writer"
}
]
}
}
Paramètres du script Writer
|
Paramètre |
Description |
Obligatoire |
Valeur par défaut |
|
|
|
Type de fichier. Valeurs valides : |
Oui |
Aucune |
|
|
|
Chemin du système de fichiers OSS-HDFS où les données sont stockées. OSS-HDFS Writer écrit plusieurs fichiers dans ce répertoire selon la configuration de concurrence. Lors de l'association avec une table Hive, spécifiez le chemin de stockage de la table Hive sur OSS-HDFS. |
Oui |
Aucune |
|
|
|
Nom de base des fichiers de sortie. Un suffixe aléatoire est ajouté à ce nom pour chaque thread simultané afin de créer les noms de fichiers réels. |
Oui |
Aucune |
|
|
|
Champs à écrire. L'écriture dans un sous-ensemble de colonnes n'est pas prise en charge. Lors de l'association avec une table Hive, spécifiez tous les noms et types de champs. Utilisez |
Oui (non requis si |
Aucune |
|
|
|
Manière dont OSS-HDFS Writer gère les fichiers existants avant l'écriture. OSS-HDFS Writer utilise une stratégie d'écriture puis de renommage : les données sont d'abord écrites dans un répertoire temporaire nommé selon la règle |
Oui |
Aucune |
|
|
|
Délimiteur de champ pour les fichiers de sortie. Seuls les délimiteurs à caractère unique sont pris en charge ; plusieurs caractères provoquent une erreur d'exécution. Non requis lorsque |
Oui (non requis si |
Aucune |
|
|
|
Format de compression pour les fichiers texte. Valeurs valides : |
Non |
Aucune |
|
|
|
Encodage du fichier. |
Non |
|
|
|
|
Définition du schéma pour les fichiers de sortie Parquet. Ne prend effet que lorsque |
optional> |
Non |
Aucune |