@@ -11,25 +11,6 @@ import DbContext from '@db/DbContext';
1111import moment from 'moment' ;
1212
1313const hf_account = import . meta. env . VITE_ENV === 'DEV' ? '311-Data-Dev' : '311-data' ;
14-
15- // List of remote dataset locations used by db.registerFileURL
16- const datasets = {
17- parquet : {
18- // huggingface
19- hfYtd2025 :
20- `https://huggingface.co/datasets/${ hf_account } /2025/resolve/main/2025.parquet` , // 2025 year-to-date
21- hfYtd2024 :
22- `https://huggingface.co/datasets/${ hf_account } /2024/resolve/main/2024.parquet` , // 2024 entire year
23- hfYtd2023 :
24- `https://huggingface.co/datasets/${ hf_account } /2023/resolve/main/2023.parquet` , // 2023 entire year
25- hfYtd2022 :
26- `https://huggingface.co/datasets/${ hf_account } /2022/resolve/main/2022.parquet` , // 2022 entire year
27- hfYtd2021 :
28- `https://huggingface.co/datasets/${ hf_account } /2021/resolve/main/2021.parquet` , // 2021 entire year
29- hfYtd2020 :
30- `https://huggingface.co/datasets/${ hf_account } /2020/resolve/main/2020.parquet` , // 2020 entire year
31- } ,
32- } ;
3314function DbProvider ( { children, startDate } ) {
3415 const [ db , setDb ] = useState ( null ) ;
3516 const [ conn , setConn ] = useState ( null ) ;
@@ -65,43 +46,20 @@ function DbProvider({ children, startDate }) {
6546 DUCKDB_CONFIG . pthreadWorker ,
6647 ) ;
6748
68- // register parquet
69- await newDb . registerFileURL (
70- 'requests2025.parquet' ,
71- //* Quick fix - change hfYtd2024 to hfYtd2025 when 2025 data available
72- datasets . parquet . hfYtd2025 ,
73- 4 , // HTTP = 4. For more options: https://tinyurl.com/DuckDBDataProtocol
74- ) ;
75-
76- await newDb . registerFileURL (
77- 'requests2024.parquet' ,
78- datasets . parquet . hfYtd2024 ,
79- 4 , // HTTP = 4. For more options: https://tinyurl.com/DuckDBDataProtocol
80- ) ;
81-
82- await newDb . registerFileURL (
83- 'requests2023.parquet' ,
84- datasets . parquet . hfYtd2023 ,
85- 4 ,
86- ) ;
87-
88- await newDb . registerFileURL (
89- 'requests2022.parquet' ,
90- datasets . parquet . hfYtd2022 ,
91- 4 ,
92- ) ;
93-
94- await newDb . registerFileURL (
95- 'requests2021.parquet' ,
96- datasets . parquet . hfYtd2021 ,
97- 4 ,
98- ) ;
99-
100- await newDb . registerFileURL (
101- 'requests2020.parquet' ,
102- datasets . parquet . hfYtd2020 ,
103- 4 ,
104- ) ;
49+ // Register parquet files for years 2020 to current year
50+ const currentYear = new Date ( ) . getFullYear ( ) ;
51+ for ( let year = 2020 ; year <= currentYear ; year ++ ) {
52+ const datasetUrl = `https://huggingface.co/datasets/${ hf_account } /${ year } /resolve/main/${ year } .parquet` ;
53+ try {
54+ await newDb . registerFileURL (
55+ `requests${ year } .parquet` ,
56+ datasetUrl ,
57+ 4 , // HTTP = 4. For more options: https://tinyurl.com/DuckDBDataProtocol
58+ ) ;
59+ } catch ( err ) {
60+ console . warn ( `Failed to register dataset for year ${ year } :` , err ) ;
61+ }
62+ }
10563
10664 // Create db connection
10765 const newConn = await newDb . connect ( ) ;
0 commit comments