This repository was archived by the owner on May 7, 2026. It is now read-only.
Commit 84c6f88
docs: Add EXIF metadata extraction example to multimodal notebook (#2429)
This PR updates the notebooks/multimodal/multimodal_dataframe.ipynb
notebook to include a comprehensive example of extracting EXIF metadata
from images.
Key Changes:
* Added a new section "7. Extract EXIF metadata from images".
* Implemented a custom remote function (UDF) using pillow and requests
to retrieve and parse EXIF tags from image URLs.
* Demonstrated how to apply this function efficiently within a BigFrames
workflow to analyze image metadata.
This addition provides users with a practical pattern for handling image
metadata and using custom libraries within BigQuery DataFrames.
Fixes #<478952827> 🦕
---------
Co-authored-by: Garrett Wu <6505921+GarrettWu@users.noreply.github.com>
Co-authored-by: Chelsea Lin <chelsealin@google.com>
Co-authored-by: Shenyang Cai <sycai@users.noreply.github.com>1 parent 9f1ba1d commit 84c6f88Copy full SHA for 84c6f88
1 file changed
+92-2Lines changed: 92 additions & 2 deletions
File tree
Expand file treeCollapse file tree
Open diff view settings
Filter options
- notebooks/multimodal
Expand file treeCollapse file tree
Open diff view settings
Collapse file
notebooks/multimodal/multimodal_dataframe.ipynb
Copy file name to clipboardExpand all lines: notebooks/multimodal/multimodal_dataframe.ipynb+92-2Lines changed: 92 additions & 2 deletions
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| ||
61 | 61 | |
62 | 62 | |
63 | 63 | |
64 | | - |
| 64 | + |
| 65 | + |
65 | 66 | |
66 | 67 | |
67 | 68 | |
| ||
104 | 105 | |
105 | 106 | |
106 | 107 | |
| 108 | + |
| 109 | + |
| 110 | + |
| 111 | + |
| 112 | + |
107 | 113 | |
108 | 114 | |
109 | 115 | |
| ||
112 | 118 | |
113 | 119 | |
114 | 120 | |
| 121 | + |
115 | 122 | |
116 | 123 | |
117 | 124 | |
118 | 125 | |
119 | 126 | |
120 | | - |
| 127 | + |
| 128 | + |
121 | 129 | |
122 | 130 | |
123 | 131 | |
| ||
1546 | 1554 | |
1547 | 1555 | |
1548 | 1556 | |
| 1557 | + |
| 1558 | + |
| 1559 | + |
| 1560 | + |
| 1561 | + |
| 1562 | + |
| 1563 | + |
| 1564 | + |
| 1565 | + |
| 1566 | + |
| 1567 | + |
| 1568 | + |
| 1569 | + |
| 1570 | + |
| 1571 | + |
| 1572 | + |
| 1573 | + |
| 1574 | + |
| 1575 | + |
| 1576 | + |
| 1577 | + |
| 1578 | + |
| 1579 | + |
| 1580 | + |
| 1581 | + |
| 1582 | + |
| 1583 | + |
| 1584 | + |
| 1585 | + |
| 1586 | + |
| 1587 | + |
| 1588 | + |
| 1589 | + |
| 1590 | + |
| 1591 | + |
| 1592 | + |
| 1593 | + |
| 1594 | + |
| 1595 | + |
| 1596 | + |
| 1597 | + |
| 1598 | + |
| 1599 | + |
| 1600 | + |
| 1601 | + |
| 1602 | + |
| 1603 | + |
| 1604 | + |
| 1605 | + |
| 1606 | + |
| 1607 | + |
| 1608 | + |
| 1609 | + |
| 1610 | + |
| 1611 | + |
| 1612 | + |
| 1613 | + |
| 1614 | + |
| 1615 | + |
| 1616 | + |
| 1617 | + |
| 1618 | + |
| 1619 | + |
| 1620 | + |
| 1621 | + |
| 1622 | + |
| 1623 | + |
| 1624 | + |
| 1625 | + |
| 1626 | + |
| 1627 | + |
| 1628 | + |
| 1629 | + |
| 1630 | + |
| 1631 | + |
| 1632 | + |
| 1633 | + |
| 1634 | + |
| 1635 | + |
| 1636 | + |
| 1637 | + |
| 1638 | + |
1549 | 1639 | |
1550 | 1640 | |
1551 | 1641 | |
|
0 commit comments