Berekening van gegevenssetstatistieken
U kunt nu statistieken op kolomniveau over gegevenssets van Azure Data Lake Storage (ADLS) berekenen met de SQL-opdracht COMPUTE STATISTICS
. De SQL-opdrachten die gegevenssetstatistieken berekenen, vormen een uitbreiding van de opdracht ANALYZE TABLE
. De volledige details op het ANALYZE TABLE
bevel kunnen in de SQL verwijzingsdocumentatieworden gevonden.
Om de statistieken te zien die met het ANALYZE TABLE COMPUTE STATISTICS
bevel werden gegevens verwerkt, kunt u een UITGEZOCHTE vraag op de aliasnaam of identiteitskaart van Statistieken gebruiken. U kunt het werkingsgebied van de statistische analyse tot of de volledige dataset, een ondergroep van een dataset, alle kolommen, of een ondergroep van kolommen ook beperken.
COMPUTE STATISTICS
, FILTERCONTEXT
en FOR COLUMNS
worden niet ondersteund in versnelde winkeltabellen. Deze extensies voor de opdracht ANALYZE TABLE
worden momenteel alleen ondersteund voor ADLS-tabellen. Voor meer informatie, zie ANALYSEREN de sectie van DE LIJSTvan de SQL syntaxisgids.Deze gids helpt u uw vragen structureren zodat u de kolomstatistieken van een dataset van ADLS kunt gegevens verwerken. Gebruikend deze bevelen, kunt u de statistieken zien in uw zitting door een cliƫnt PSQL gebruikend een SQL vraag worden geproduceerd.
Statistieken berekenen compute-statistics
De extra constructies zijn toegevoegd aan het ANALYZE TABLE
bevel dat u toestaat om statistieken voor een ondergroep van een dataset en voor bepaalde kolommen gegevens te verwerken. Voor het berekenen van gegevenssetstatistieken moet u de ANALYZE TABLE <tableName> COMPUTE STATISTICS
-indeling gebruiken.
ANALYZE TABLE COMPUTE STATISTICS
gebruiken. U wordt niet geadviseerd om het COMPUTE STATISTICS
bevel zonder filters op een dataset van ADLS te gebruiken, aangezien de grootte van de dataset zeer groot (potentieel petabytes van gegevens) kan zijn. In plaats daarvan moet u altijd overwegen de opdracht Analyseren uit te voeren met FILTERCONTEXT
en een opgegeven lijst met kolommen. Zie de secties op beperkende geanalyseerde kolommenen toevoegend een filtervoorwaardevoor meer details.Het voorbeeld hieronder wordt gezien verwerkt statistieken voor de adc_geometric
dataset en voor alle kolommen in de dataset.
ANALYZE TABLE adc_geometric COMPUTE STATISTICS;
COMPUTE STATISTICS
biedt geen ondersteuning voor de gegevenstypen array of toewijzing. U kunt een skip_stats_for_complex_datatypes
-markering instellen die op de hoogte moet worden gesteld of op een foutmelding als het invoergegevensframe kolommen met arrays en gegevenstypen met hyperlinks bevat. De markering is standaard ingesteld op true. Gebruik de volgende opdracht om meldingen of fouten in te schakelen: SET skip_stats_for_complex_datatypes = false
.Een alias maken alias-name
Aangezien de resultaten van berekeningen een grote hoeveelheid gegevens kunnen zijn, is het onredelijk om de gegevens die zijn berekend direct in de consoleoutput terug te keren. Hoewel namen van aliassen optioneel zijn, wordt u aangeraden deze als beste praktijken te gebruiken wanneer u statistieken berekent. Geef een naam voor een alias op in de instructie om een beschrijvende verwijzing naar de resultaten in uw SQL-query's op te nemen. U kunt ook een automatisch gegenereerde Statistics ID
genereren en gebruiken om de berekende informatie op te slaan.
In het onderstaande voorbeeld worden de berekende uitvoerstatistieken opgeslagen in de alias_name
voor latere referentie. De aliasnaam die in de query wordt gebruikt, is beschikbaar ter referentie zodra de opdracht ANALYZE TABLE
is uitgevoerd.
ANALYZE TABLE adc_geometric COMPUTE STATISTICS AS alias_name;
De uitvoer voor het bovenstaande voorbeeld is SUCCESSFULLY COMPLETED, alias_name
. De consoleoutput toont niet de statistieken in de reactie op de analyze lijst gegevens statistische bevel gegevens. Om de gedetailleerde resultaten te zien, moet u een UITGEZOCHTE vraag op de aliasnaam of identiteitskaart van Statistieken gebruiken.
De uitvoer van berekende statistieken weergeven view-output-of-computed-statistics
Als u vooraf geen naam van een alias opgeeft, genereert de Query Service automatisch een naam voor de Statistics ID
die de indeling van <tableName_stats_{incremental_number}>
volgt. Als een aliasnaam wordt opgegeven, wordt deze weergegeven in de kolom Statistics ID
.
Een voorbeelduitvoer van een query COMPUTE STATISTICS
ziet er als volgt uit:
| Statistics ID |
| --------------------- |
| adc_geometric_stats_1 |
(1 row)
U kunt dan de gegevens verwerkte statistieken direct vragen door Statistics ID
van verwijzingen te voorzien. In de onderstaande voorbeeldinstructie kunt u de uitvoer in zijn geheel weergeven wanneer deze wordt gebruikt met de naam Statistics ID
of de naam van de alias.
SELECT * FROM adc_geometric_stats_1;
De berekende statistische uitvoer kan er ongeveer zo uitzien als in het onderstaande voorbeeld.
columnName | mean | max | min | standardDeviation | approxDistinctCount | nullCount | dataType
------------------------------------------------------------+----------------+----------------+----------------+-------------------+---------------------+-----------+-----------
marketing.trackingcode | 0.0 | 0.0 | 0.0 | 0.0 | 1213.0 | 0 | String
_experience.analytics.customdimensions.evars.evar13 | 0.0 | 0.0 | 0.0 | 0.0 | 8765.0 | 20 | String
_experience.analytics.customdimensions.evars.evar74 | 0.0 | 0.0 | 0.0 | 0.0 | 11.0 | 0 | String
web.webpagedetails.name | 0.0 | 0.0 | 0.0 | 0.0 | 1.0 | 0 | String
_experience.analytics.event1to100.event8.value | 5.0 | 9077.0 | 123.0 | 10.0 | 1001.0 | 80 | Double
search.ispaid | 0.0 | 0.0 | 0.0 | 0.0 | 1.0 | 0 | Boolean
commerce.productlistviews.value | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 10 | Double
device.typeid | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 10 | String
commerce.purchases.value | 765.0 | 98760.0 | -980.0 | 32.0 | 99.0 | 90 | Double
_experience.analytics.customdimensions.props.prop45 | 0.0 | 0.0 | 0.0 | 0.0 | 1.0 | 0 | String
environment.browserdetails.javaenabled | 0.0 | 0.0 | 0.0 | 0.0 | 1.0 | 0 | Boolean
timestamp | 0.0 | 0.0 | 0.0 | 0.0 | 98.0 | 3 | Timestamp
(12 rows)
De metagegevens van de statistische analyse weergeven show-statistics
U kunt de opdracht SHOW STATISTICS
gebruiken om de metagegevens weer te geven voor alle tijdelijke statistieken die in de sessie worden gegenereerd. Met deze opdracht kunt u het bereik van uw statistische analyse verfijnen.
Een voorbeelduitvoer van SHOW STATISTICS
wordt hieronder weergegeven.
statsId | tableName | columnSet | filterContext | timestamp
----------------------+---------------+-----------+-----------------------------+--------------------
adc_geometric_stats_1 | adc_geometric | (age) | | 25/06/2023 09:22:26
demo_table_stats_1 | demo_table | (*) | ((age > 25)) | 25/06/2023 12:50:26
age_stats | castedtitanic | (age) | ((age > 25) AND (age < 40)) | 25/06/2023 09:22:26
Hieronder vindt u een beschrijving van de kolomnamen voor metagegevens.
statsId
COMPUTE STATISTICS
.tableName
columnSet
filterContext
timestamp
U kunt de statistiek-id of aliasnaam gebruiken om de berekende statistieken op elk gewenst moment binnen die sessie op te zoeken met een SELECT-instructie. De statistieken-id en de gegenereerde statistieken zijn alleen geldig voor deze specifieke sessie en kunnen niet worden geopend voor verschillende PSQL-sessies. De berekende statistieken zijn momenteel niet blijvend. Zie de sectie op hoe te de output van uw gegevens verwerkte statistiekenvoor meer details bekijken.
De opgenomen kolommen beperken limit-included-columns
Om uw analyse te concentreren, kunt u statistieken voor bepaalde datasetkolommen berekenen door hen door naam van verwijzingen te voorzien. Gebruik de syntaxis van FOR COLUMNS (<col1>, <col2>)
om specifieke kolommen te richten. In het onderstaande voorbeeld worden statistieken berekend voor de kolommen commerce
, id
en timestamp
voor de gegevensset tableName
.
ANALYZE TABLE tableName COMPUTE STATISTICS FOR columns (commerce, id, timestamp);
U kunt de statistieken voor om het even welk wortelniveau of genestelde kolom berekenen. In het volgende voorbeeld worden deze verwijzingen getoond.
ANALYZE TABLE adcgeometric COMPUTE STATISTICS FOR columns (commerce, commerce.purchases.value, commerce.productListAdds.value);
Een filtervoorwaarde voor een tijdstempel toevoegen filter-condition
Als u de analyse van uw kolommen wilt concentreren op chronologie, kunt u een filtervoorwaarde voor een tijdstempel toevoegen. Deze voorwaarde kan worden gebruikt om historische gegevens uit te filteren of uw gegevensanalyse op een specifieke periode te concentreren. De opdracht FILTERCONTEXT
berekent statistieken over een subset van de gegevensset op basis van de filtervoorwaarde die u opgeeft.
In het onderstaande voorbeeld worden statistieken berekend over alle kolommen voor de gegevensset tableName
, waar de tijdstempel van de kolom waarden heeft tussen het opgegeven bereik van 2023-04-01 00:00:00
en 2023-04-05 00:00:00
.
ANALYZE TABLE tableName FILTERCONTEXT (timestamp >= to_timestamp('2023-04-01 00:00:00') and timestamp <= to_timestamp('2023-04-05 00:00:00')) COMPUTE STATISTICS FOR ALL COLUMNS;
U kunt de kolomgrens en de filter combineren om hoogst specifieke computervragen voor uw datasetkolommen tot stand te brengen. Met de volgende query worden bijvoorbeeld statistieken berekend over de kolommen commerce
, id
en timestamp
voor de gegevensset tableName
, waar de tijdstempel van de kolom waarden bevat tussen het opgegeven bereik 2023-04-01 00:00:00
en 2023-04-05 00:00:00
.
ANALYZE TABLE tableName FILTERCONTEXT (timestamp >= to_timestamp('2023-04-01 00:00:00') and timestamp <= to_timestamp('2023-04-05 00:00:00')) COMPUTE STATISTICS FOR columns (commerce, id, timestamp);
Volgende stappen next-steps
Door dit document te lezen, hebt u nu een beter inzicht in hoe te om kolom-vlakke statistieken van een dataset van ADLS te produceren gebruikend een SQL vraag. U wordt geadviseerd om de SQl syntaxisgidste lezen om meer eigenschappen van de Dienst van de Vraag van Adobe Experience Platform te ontdekken.