{"id":20823359,"url":"https://github.com/snithish/duckdb-hdfs","last_synced_at":"2026-04-17T19:31:17.411Z","repository":{"id":198935748,"uuid":"701830413","full_name":"snithish/duckdb-hdfs","owner":"snithish","description":null,"archived":false,"fork":false,"pushed_at":"2024-01-08T13:01:44.000Z","size":20,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-12T06:42:33.847Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/snithish.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-10-07T17:23:58.000Z","updated_at":"2024-08-23T05:29:16.000Z","dependencies_parsed_at":null,"dependency_job_id":"fb4f2d99-63ba-42d8-aeff-fa5e7f62d8ec","html_url":"https://github.com/snithish/duckdb-hdfs","commit_stats":null,"previous_names":["snithish/duckdb-hdfs"],"tags_count":0,"template":false,"template_full_name":"duckdb/extension-template","purl":"pkg:github/snithish/duckdb-hdfs","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/snithish%2Fduckdb-hdfs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/snithish%2Fduckdb-hdfs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/snithish%2Fduckdb-hdfs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/snithish%2Fduckdb-hdfs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/snithish","download_url":"https://codeload.github.com/snithish/duckdb-hdfs/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/snithish%2Fduckdb-hdfs/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31943174,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-17T17:29:20.459Z","status":"ssl_error","status_checked_at":"2026-04-17T17:28:47.801Z","response_time":62,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-17T22:18:12.073Z","updated_at":"2026-04-17T19:31:17.388Z","avatar_url":"https://github.com/snithish.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# hdfs\n\nThis repository is based on https://github.com/duckdb/extension-template, check it out if you want to build and ship your own DuckDB extension.\n\n---\n\nThis extension, hdfs, allow you to ... \u003cextension_goal\u003e.\n\n\n## Building\n### Dependencies\nDuckDB extensions use VCPKG for dependency management. To demonstrate that, the example extension in the template links against\nOpenSSL. Enabling VCPKG is very simple: follow the [installation instructions](https://vcpkg.io/en/getting-started) and export the following variable:\n```shell\nexport VCPKG_TOOLCHAIN_PATH=\u003cpath_to_your_vcpkg_installation\u003e/scripts/buildsystems/vcpkg.cmake\n```\nNote: while using VCPKG for installation is recommended, the build will still work as long as\nCMake's `find_package` function is able to locate a compatible openssl version. Alternatively, feel free\nto remove the OpenSSL dependency completely to build the example extension without dependencies.\n\n### Build steps\nNow to build the extension, run:\n```sh\nmake\n```\nThe main binaries that will be built are:\n```sh\n./build/release/duckdb\n./build/release/test/unittest\n./build/release/extension/hdfs/hdfs.duckdb_extension\n```\n- `duckdb` is the binary for the duckdb shell with the extension code automatically loaded.\n- `unittest` is the test runner of duckdb. Again, the extension is already linked into the binary.\n- `hdfs.duckdb_extension` is the loadable binary as it would be distributed.\n\n## Running the extension\nTo run the extension code, simply start the shell with `./build/release/duckdb`.\n\nNow we can use the features from the extension directly in DuckDB. The template contains a single scalar function `hdfs()` that takes a string arguments and returns a string:\n```\nD select hdfs('Jane') as result;\n┌───────────────┐\n│    result     │\n│    varchar    │\n├───────────────┤\n│ Quack Jane 🐥 │\n└───────────────┘\n```\n\n## Running the tests\nDifferent tests can be created for DuckDB extensions. The primary way of testing DuckDB extensions should be the SQL tests in `./test/sql`. These SQL tests can be run using:\n```sh\nmake test\n```\n\n### Installing the deployed binaries\nTo install your extension binaries from S3, you will need to do two things. Firstly, DuckDB should be launched with the\n`allow_unsigned_extensions` option set to true. How to set this will depend on the client you're using. Some examples:\n\nCLI:\n```shell\nduckdb -unsigned\n```\n\nPython:\n```python\ncon = duckdb.connect(':memory:', config={'allow_unsigned_extensions' : 'true'})\n```\n\nNodeJS:\n```js\ndb = new duckdb.Database(':memory:', {\"allow_unsigned_extensions\": \"true\"});\n```\n\nSecondly, you will need to set the repository endpoint in DuckDB to the HTTP url of your bucket + version of the extension\nyou want to install. To do this run the following SQL query in DuckDB:\n```sql\nSET custom_extension_repository='bucket.s3.eu-west-1.amazonaws.com/\u003cyour_extension_name\u003e/latest';\n```\nNote that the `/latest` path will allow you to install the latest extension version available for your current version of\nDuckDB. To specify a specific version, you can pass the version instead.\n\nAfter running these steps, you can install and load your extension using the regular INSTALL/LOAD commands in DuckDB:\n```sql\nINSTALL hdfs\nLOAD hdfs\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsnithish%2Fduckdb-hdfs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsnithish%2Fduckdb-hdfs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsnithish%2Fduckdb-hdfs/lists"}