Skip to content

Commit

Permalink
Update and rename folder_stats.sql to calculate_datasize.sql
Browse files Browse the repository at this point in the history
Only include datasize calculation part and update variable name to indicate the script works for both folder and project
  • Loading branch information
danlu1 authored Apr 3, 2024
1 parent d3453ae commit e7fa94c
Show file tree
Hide file tree
Showing 2 changed files with 74 additions and 141 deletions.
74 changes: 74 additions & 0 deletions analytics/calculate_datasize.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
/*
This is a script to calculate total data size in GiB for each ENTITY_ID (folder or project).
ENTITY_IDs can be a single Synapse folder/project ID or a list of Synapse folder/proejct IDs seperated by comma
*/

USE ROLE DATA_ANALYTICS;
USE DATABASE synapse_data_warehouse;
USE WAREHOUSE COMPUTE_XSMALL;

-- The list of folders to be checked
SET
ENTITY_IDs = '';

-- Calculate Data Size
WITH RECURSIVE nodesnapshots
-- Column list of the "view"
(
ID,
PARENT_ID,
NAME,
NODE_TYPE,
FILE_HANDLE_ID,
ENTITY_ID
)
AS
-- Common Table Expression
(
-- Anchor Clause
SELECT
ID,
PARENT_ID,
NAME,
NODE_TYPE,
FILE_HANDLE_ID,
ID AS ENTITY_ID
FROM
synapse_data_warehouse.synapse.node_latest
WHERE
ID IN (
SELECT
REPLACE(VALUE, 'syn', '')
FROM
TABLE(SPLIT_TO_TABLE($ENTITY_IDs, ','))
)

UNION ALL

-- Recursive Clause
SELECT
node.ID,
node.PARENT_ID,
node.NAME,
node.NODE_TYPE,
node.FILE_HANDLE_ID,
nodesnapshots.ENTITY_ID
FROM
synapse_data_warehouse.synapse.node_latest AS node
JOIN
nodesnapshots
ON
node.PARENT_ID = nodesnapshots.ID
)
-- This is the "main select".
SELECT
'syn' || nodesnapshots.ENTITY_ID AS ENTITY_ID,
sum(filesnapshots.CONTENT_SIZE)/ power(2, 30) AS CONTENT_SIZE_in_GiB
FROM
nodesnapshots
JOIN
synapse_data_warehouse.synapse.file_latest AS filesnapshots
ON
nodesnapshots.file_handle_id = filesnapshots.ID
GROUP BY
nodesnapshots.ENTITY_ID;
141 changes: 0 additions & 141 deletions analytics/folder_stats.sql

This file was deleted.

0 comments on commit e7fa94c

Please sign in to comment.