Utilizzo di modelli di colonna nel mapping del flusso di datiUsing column patterns in mapping data flowUsing column patterns in mapping data flow

Diverse trasformazioni del flusso di dati di mapping consentono di fare riferimento a colonne modello in base a modelli anziché a nomi di colonna hardcoded.Several mapping data flow transformations allow you to reference template columns based on patterns instead of hard-coded column names. Questa corrispondenza è nota come modelli di colonna.This matching is known as column patterns. È possibile definire modelli che corrispondono alle colonne in base al nome, al tipo di dati, al flusso o alla posizione anziché richiedere nomi di campo esatti.You can define patterns to match columns based on name, data type, stream, or position instead of requiring exact field names. Esistono due scenari in cui i modelli di colonna sono utili:There are two scenarios where column patterns are useful:There are two scenarios where column patterns are useful:

  • Se i campi di origine in ingresso cambiano spesso, ad esempio nel caso di modifica delle colonne in file di testo o database NoSQL.If incoming source fields change often such as the case of changing columns in text files or NoSQL databases. Questo scenario è noto come deriva dello schema.This scenario is known as schema drift.
  • Se si desidera eseguire un'operazione comune su un gruppo di colonne di grandi dimensioni.If you wish to do a common operation on a large group of columns. Ad esempio, desidera eseguire il cast di ogni colonna con il nome della colonna 'totale' in un valore double.For example, wanting to cast every column that has 'total' in its column name into a double.

I modelli di colonna sono attualmente disponibili nelle trasformazioni di colonna, aggregazione, selezione e sink derivati.Column patterns are currently available in the derived column, aggregate, select, and sink transformations.

Modelli di colonna nella colonna derivata e nell'aggregazioneColumn patterns in derived column and aggregateColumn patterns in derived column and aggregate

Per aggiungere un modello di colonna in una colonna derivata o nella scheda Aggregazioni di una trasformazione di aggregazione, fare clic sull'icona più a destra di una colonna esistente.To add a column pattern in a derived column or the Aggregates tab of an aggregate transformation, click the plus icon to the right of an existing column. Selezionare Aggiungi modello di colonna.Select Add column pattern.

modelli di colonnacolumn patterns

Utilizzare il generatore di espressioni per immettere la condizione di corrispondenza.Use the expression builder to enter the match condition. Creare un'espressione booleana che name typecorrisponda alle colonne in base a , , streame position della colonna.Create a boolean expression that matches columns based on the name, type, stream, and position of the column. Il modello avrà effetto su qualsiasi colonna, derapata o definita, in cui la condizione restituisce true.The pattern will affect any column, drifted or defined, where the condition returns true.

Le due caselle di espressione sotto la condizione di corrispondenza specificano i nuovi nomi e i nuovi valori delle colonne interessate.The two expression boxes below the match condition specify the new names and values of the affected columns. Consente $$ di fare riferimento al valore esistente del campo corrispondente.Use $$ to reference the existing value of the matched field. La casella di espressione a sinistra definisce il nome e la casella di espressione di destra definisce il valore.The left expression box defines the name and the right expression box defines the value.

modelli di colonnacolumn patterns

Il modello di colonna precedente corrisponde a ogni colonna di tipo double e crea una colonna di aggregazione per corrispondenza.The above column pattern matches every column of type double and creates one aggregate column per match. Il nome della nuova colonna è il nome della colonna corrispondente concatenato a '_total'.The name of the new column is the matched column's name concatenated with '_total'. Il valore della nuova colonna è la somma arrotondata e aggregata del valore double esistente.The value of the new column is the rounded, aggregated sum of the existing double value.

Per verificare che la condizione corrispondente sia corretta, è possibile convalidare lo schema di output delle colonne definite nella scheda Controlla o ottenere uno snapshot dei dati nella scheda Anteprima dati.To verify your matching condition is correct, you can validate the output schema of defined columns in the Inspect tab or get a snapshot of the data in the Data preview tab.

modelli di colonnacolumn patterns

Mapping basato su regole in Select e sinkRule-based mapping in select and sink

Quando si esegue il mapping di colonne nell'origine e si selezionano trasformazioni, è possibile aggiungere mapping fissi o basati su regole.When mapping columns in source and select transformations, you can add either fixed mapping or rule-based mappings. Trova la namecorrispondenza streamin position base alle colonne , type, e .Match based on the name, type, stream, and position of columns. È possibile avere qualsiasi combinazione di mapping fissi e basati su regole.You can have any combination of fixed and rule-based mappings. Per impostazione predefinita, per tutte le proiezioni con più di 50 colonne verrà associato per impostazione predefinita un mapping basato su regole che corrisponde a ogni colonna e restituisce il nome immesso.By default, all projections with greater than 50 columns will default to a rule-based mapping that matches on every column and outputs the inputted name.

Per aggiungere un mapping basato su regole, fare clic su Aggiungi mapping e selezionare Mapping basato su regole.To add a rule-based mapping, click Add mapping and select Rule-based mapping.

mapping basato su regolerule-based mapping

Ogni mapping basato su regole richiede due input: la condizione in base alla quale soddisfare e cosa denominare ogni colonna mappata.Each rule-based mapping requires two inputs: the condition on which to match by and what to name each mapped column. Entrambi i valori vengono immessi tramite il generatore di espressioni.Both values are inputted via the expression builder. Nella casella dell'espressione a sinistra immettere la condizione di corrispondenza booleana.In the left expression box, enter your boolean match condition. Nella casella di espressione a destra specificare a cosa verrà eseguito il mapping della colonna corrispondente.In the right expression box, specify what the matched column will be mapped to.

mapping basato su regolerule-based mapping

Utilizzare $$ la sintassi per fare riferimento al nome di input di una colonna corrispondente.Use $$ syntax to reference the input name of a matched column. Utilizzando l'immagine precedente come esempio, si supponga che un utente desideri trovare una corrispondenza in tutte le colonne stringa i cui nomi sono più brevi di sei caratteri.Using the above image as an example, say a user wants to match on all string columns whose names are shorter than six characters. Se una colonna testin arrivo $$ + '_short' è denominata , l'espressione rinominerà la colonna test_short.If one incoming column was named test, the expression $$ + '_short' will rename the column test_short. Se questo è l'unico mapping esistente, tutte le colonne che non soddisfano la condizione verranno eliminate dai dati restituiti.If that's the only mapping that exists, all columns that don't meet the condition will be dropped from the outputted data.

I modelli corrispondono sia alle colonne alla deriva che a quelle definite.Patterns match both drifted and defined columns. Per visualizzare le colonne definite mappate da una regola, fare clic sull'icona degli occhiali accanto alla regola.To see which defined columns are mapped by a rule, click the eyeglasses icon next to the rule. Verificare l'output utilizzando l'anteprima dei dati.Verify your output using data preview.

Mapping RegexRegex mapping

Se si fa clic sull'icona con la freccia rivolta verso il basso, è possibile specificare una condizione di mapping delle regex.If you click the downward chevron icon, you can specify a regex-mapping condition. Una condizione di mapping delle regole di espressione regolare corrisponde a tutti i nomi di colonna che corrispondono alla condizione di espressione regolare specificata.A regex-mapping condition matches all column names that match the specified regex condition. Può essere utilizzato in combinazione con mapping standard basati su regole.This can be used in combination with standard rule-based mappings.

mapping basato su regolerule-based mapping

L'esempio precedente corrisponde (r) al modello regex o a qualsiasi nome di colonna che contiene una r minuscola.The above example matches on regex pattern (r) or any column name that contains a lower case r. Analogamente al mapping standard basato su regole, tutte le $$ colonne corrispondenti vengono modificate dalla condizione a destra utilizzando la sintassi.Similar to standard rule-based mapping, all matched columns are altered by the condition on the right using $$ syntax.

Gerarchie basate su regoleRule-based hierarchies

Se la proiezione definita ha una gerarchia, è possibile utilizzare il mapping basato su regole per eseguire il mapping delle sottocolonne delle gerarchie.If your defined projection has a hierarchy, you can use rule-based mapping to map the hierarchies subcolumns. Specificare una condizione corrispondente e la colonna complessa di cui si desidera mappare le sottocolonne.Specify a matching condition and the complex column whose subcolumns you wish to map. Ogni sottocolonna corrispondente verrà emessa utilizzando la regola 'Nome come' specificata a destra.Every matched subcolumn will be outputted using the 'Name as' rule specified on the right.

mapping basato su regolerule-based mapping

Nell'esempio precedente viene confrontato acon tutte le sottocolonne di column complex .The above example matches on all subcolumns of complex column a. acontiene due b sottocolonne e c.a contains two subcolumns b and c. Lo schema di output b c includerà due colonne e $$come la condizione 'Nome come' è .The output schema will include two columns b and c as the 'Name as' condition is $$.

Valori delle espressioni di corrispondenza dei modelli.Pattern matching expression values.

  • $$si traduce nel nome o nel valore di ogni corrispondenza in fase di esecuzione$$ translates to the name or value of each match at run time
  • namerappresenta il nome di ogni colonna in ingressoname represents the name of each incoming column
  • typerappresenta il tipo di dati di ogni colonna in entratatype represents the data type of each incoming column
  • streamrappresenta il nome associato a ogni flusso o la trasformazione nel flussostream represents the name associated with each stream, or transformation in your flow
  • positionè la posizione ordinale delle colonne nel flusso di datiposition is the ordinal position of columns in your data flow

Passaggi successiviNext steps

  • Altre informazioni sul linguaggio delle espressioni del flusso di dati di mapping per le trasformazioni dei datiLearn more about the mapping data flow expression language for data transformationsLearn more about the mapping data flow expression language for data transformations
  • Usare i modelli di colonna nella trasformazione sink e selezionare la trasformazione con il mapping basato su regoleUse column patterns in the sink transformation and select transformation with rule-based mappingUse column patterns in the sink transformation and select transformation with rule-based mapping