Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/joewood/react-iceberg
React Components to visualize Apache Iceberg tables
https://github.com/joewood/react-iceberg
apache-arrow apache-iceberg apache-spark avro devcontainer docker-compose minio reactjs s3
Last synced: about 4 hours ago
JSON representation
React Components to visualize Apache Iceberg tables
- Host: GitHub
- URL: https://github.com/joewood/react-iceberg
- Owner: joewood
- Created: 2021-06-04T15:22:41.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2021-08-19T12:05:57.000Z (about 3 years ago)
- Last Synced: 2024-04-15T02:04:55.377Z (7 months ago)
- Topics: apache-arrow, apache-iceberg, apache-spark, avro, devcontainer, docker-compose, minio, reactjs, s3
- Language: TypeScript
- Homepage:
- Size: 1.35 MB
- Stars: 2
- Watchers: 2
- Forks: 1
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
## React Iceberg
A set of React components to visualize [Apache Iceberg](https://iceberg.apache.org/) Tables.
![Screenshot](./docs/screenshot.png)
## Usage
**NOTE** - this component is very much experimental
```bash
$ npm install react-iceberg
```The component includes the S3 client library, used to access the metadata and manifests in the Apache Iceberg table. This data is loaded using a React Hook.
```typescript
import { IcebergMetadata, IcebergTableUpdated, useMetadata } from "react-iceberg";const options = {
accessKeyId: /** S3 Access Key ID */,
secretAccessKey: /** Secret Access key */,
// TODO: this should be able to use the proxy (window.location.origin)
endpoint: /** S3 APi Endpoint */,
}const Component: FC = () => {
const { metadata, error, options } = useMetadata(
"catalog" /** name of the S3 Bucket */,
options);return
return }
}
```## Development
These components are in the early stages of development. The repository includes the configuration for a VSCode Development Container. The pre-requisites for development are. It's highly recommended to use the preconfigured dev container environment. Please install Docker, use WSL2 for Windows with Docker for WSL2 enabled.
The dev container environment provides the following:
- [Apache Spark](https://spark.apache.org/) container with a single master running in local mode, this includes the Apache Iceberg libraries and configured catalog
- A [Minio Container](https://github.com/minio/minio) providing an S3 compatible service
- An init-container that runs setup script configuring the S3 based environment
- [Create React App](https://create-react-app.dev/docs/getting-started/) test application for development inside the containerized environmentThe Apache Iceberg catalog and table is created using the **create-test-table.py** script, this is submitted using the following command:
```bash
$ spark-submit create-test-table.py
```
## Contributions* Joe Wood
* Yves-Noel