Skip to content

Commit 21d6b0d

Browse files
authored
add preview parquet file udf (#1965)
1 parent 78fd1f2 commit 21d6b0d

File tree

3 files changed

+100
-0
lines changed

3 files changed

+100
-0
lines changed
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
@fused.udf(cache_max_age='30m')
2+
def udf(path: str= ''):
3+
import pandas as pd
4+
import urllib.parse
5+
6+
base_url = fused.options.base_web_url
7+
signed_url = fused.api.sign_url(path) if path else ''
8+
encoded_url = urllib.parse.quote(signed_url, safe='')
9+
url = f'{base_url}/parquet-viewer?key={encoded_url}'
10+
11+
return f"""
12+
<html style="background-color: white">
13+
<head>
14+
<script>
15+
setTimeout(()=>{{window.location.reload()}}, 40*60*1000)
16+
</script>
17+
</head>
18+
<body style="margin:0">
19+
<iframe src="{url}" style="height: 100%; width: 100%" />
20+
</body>
21+
</html>
22+
"""

files/Preview_Parquet/README.MD

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<!--fused:preview-->
2+
<p align="center"><img src="https://avatars.githubusercontent.com/u/155021350" width="600" alt="UDF preview image"></p>
3+
4+
<!--fused:filePreview-->
5+
Extensions: `parquet` `pq` `gpq` `geoparquet`
6+
7+
<!--fused:filePreview-->
8+
Extensions: `parquet` `pq` `gpq` `geoparquet`
9+
10+
<!--fused:readme-->
11+
Read a Parquet or Geoparquet file with Hyparquet.

files/Preview_Parquet/meta.json

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
{
2+
"version": "0.0.3",
3+
"job_config": {
4+
"version": "0.0.3",
5+
"name": null,
6+
"steps": [
7+
{
8+
"type": "udf",
9+
"udf": {
10+
"type": "geopandas_v2",
11+
"name": "Preview_Parquet",
12+
"entrypoint": "udf",
13+
"parameters": {},
14+
"metadata": {
15+
"fused:name": "Preview_Parquet",
16+
"fused:slug": "Preview_Parquet",
17+
"fused:vizConfig": {
18+
"tileLayer": {
19+
"@@type": "TileLayer",
20+
"minZoom": 0,
21+
"maxZoom": 19,
22+
"tileSize": 256
23+
},
24+
"rasterLayer": {
25+
"@@type": "BitmapLayer",
26+
"pickable": true
27+
},
28+
"vectorLayer": {
29+
"@@type": "GeoJsonLayer",
30+
"stroked": true,
31+
"filled": false,
32+
"pickable": true,
33+
"lineWidthMinPixels": 1,
34+
"pointRadiusMinPixels": 1,
35+
"getLineColor": {
36+
"@@function": "colorContinuous",
37+
"attr": "value",
38+
"domain": [
39+
0,
40+
10
41+
],
42+
"steps": 20,
43+
"colors": "OrYel",
44+
"nullColor": [
45+
184,
46+
184,
47+
184
48+
]
49+
},
50+
"getFillColor": [
51+
208,
52+
208,
53+
208,
54+
40
55+
]
56+
}
57+
},
58+
"fused:udfType": "auto"
59+
},
60+
"source": "Preview_Parquet.py",
61+
"headers": []
62+
}
63+
}
64+
],
65+
"metadata": null
66+
}
67+
}

0 commit comments

Comments
 (0)