首页 > 数据库 >数据库_duckdb_本地访问远程数据_ aws s3

数据库_duckdb_本地访问远程数据_ aws s3

时间:2023-04-27 18:22:25浏览次数:41  
标签:extension httpfs s3 aws duckdb parquet query

Extensions 扩展

Full Text Search   HTTPFS  JSON
 Postgres Scanner   SQLite Scanner

python3 -c "import duckdb; duckdb.query('INSTALL httpfs;');" 
Loading an extension from local storage	
 参考 https://duckdb.org/docs/extensions/overview
 https://towardsdatascience.com/a-serverless-query-engine-from-spare-parts-bd6320f10353
  there is a very big difference between a bad idea and a good idea badly executed.
  利用存储和计算的分离,在云中构建一个带有查询引擎的数据湖
    01.数据 uploaded in  aws S3 in a parquet format
    02.  创建带有嵌入式DuckDB的笔记本电脑或小型数据应用程序,以在本地对生产数据进行原型和实验

使用DuckDB查询s3存储桶中的 parquet 文件。

远程parquet文件运行查询之前, 需要安装 httpfs 扩展
DuckDB
    The httpfs extension is a loadable extension implementing a file system that allows reading remote/writing remote files.
	 For pure HTTP(S), only file reading is supported. 
	 For object storage using the S3 API, the httpfs extension supports reading/writing/globbing files.
	 
	With the httpfs extension, it is possible to directly query files over HTTP(S). This currently works for CSV and Parquet files. 

远程安装
 eg:Full-Text Search Indexes 
  INSTALL 'fts';
  LOAD 'fts';

下载后本地安装:Loading an extension from local storage
   https://extensions.duckdb.org/v0.7.0/windows_amd64/json.duckdb_extension.gz	
 unzipping
 the install and load commands can be used with the path to the .duckdb_extension file. 
 install 'httpfs.duckdb_extension';
 load 'httpfs.duckdb_extension';

示例

import pandas as pd
import duckdb

query = """
    INSTALL httpfs;
    LOAD httpfs;
    SET s3_region='us-west-2';
    SET s3_access_key_id='key';
    SET s3_secret_access_key='secret';
	#SET s3_session_token='session-token';
    SELECT 
        FROM read_parquet('s3://bucket/folder/file.parquet') 

cursor = duckdb.connect()

cursor.execute(query).df()

SQLite中的扩展

# SQLite FTS5 全文索引功能以扩展模块存在。使用全文索引,可以快速对大段文字进行搜索。SQLite提供FTS3、FTS4、FTS5三个模块
import sqlite3
conn = sqlite.connect('some_db.db')
sqlite.enable_load_extension(True)
sqlite.load_extension('fts5') 

sqlite3的编译选项
a = conn.execute("pragma compile_options;")
for i in a:
    print(i)
如果没有,则编译sqlite3,增加json1扩展 编译pysqlite3

标签:extension,httpfs,s3,aws,duckdb,parquet,query
From: https://www.cnblogs.com/ytwang/p/17359906.html

相关文章

  • CSS3弹性盒子用于子元素填充父元素
    主要记住三个关键点父元素display设置为flex,表明该容器是弹性盒子,设置flex-flow指明弹性方向,子元素设置flex属性,指定弹性比例 CSS3弹性盒子|菜鸟教程(runoob.com)......
  • Amazon S3 对象存储Java API操作记录(Minio与S3 SDK两种实现)
    缘起今年(2023年)2月的时候做了个适配AmazonS3对象存储接口的需求,由于4月份自学考试临近,一直在备考就拖着没总结记录下,开发联调过程中也出现过一些奇葩的问题,最近人刚从考试缓过来顺手记录一下。S3对象存储的基本概念S3是什么?AmazonS3(SimpleStorageService)对象存储出现......
  • VS Code+platformio配置ESP32-S3-N16R8(8MB PSRAM + 16MB FLASH)工程
    一、现有问题platformio现有的板子库里面没有ESP32-S3-N16R8(8MBPSRAM+16MBFLASH)的开发板模型,直接强行套用,要么就是解锁不了8MBPSRAM,要么就下载后运行不起来。但是Arduino可以正常解锁。二、简单解决办法先选用esp32-s3-devkitc-1作为开发板模型,在它的基础上做额外的修改:......
  • 群晖NAS挂载AWS S3存储桶
    前言NAS上本身有很多备份同步套件,云存储用的比较多的是cloudsync,如图,支持多家厂商的云存储同步备份[cloudsync套件](https://s2.51cto.com/images/202304/e55ae77638eedf0dedc620be491d61f141a136.png?x-oss-process=image/watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF......
  • ESP32-S3 FLASH 操作
    FLASH读取操作整个分区的读、写、擦除#ESP-IDFPartitionTable#Name,Type,SubType,Offset,Size,Flagsnvs,data,nvs,0x9000,0x4000,otadata,data,ota,,0x2000,phy_init,data,phy,,0x1000,key_data,0x4......
  • CSS3: 利用分层动画让元素沿弧形路径运动
    译者注:部分代码示例中可以看效果(作者写在博文里面了…),我偷懒把它做成Gif图了。 CSS的animations(动画)和transitions(变换)擅于实现从点A到点B的直线运动,运动轨迹是直线路径。给一个元素添加了animation或者transition以后,无论你如何调整贝塞尔曲线,都无法让它沿着弧形路......
  • 从 aws 读取一个文件
    useclap::{Arg,ArgAction,Command};usefuser::{BackgroundSession,MountOption,Session};usemountpoint_s3::fuse::S3FuseFilesystem;usemountpoint_s3::S3FilesystemConfig;usemountpoint_s3_client::{S3ClientConfig,S3CrtClient};usemountpoint_s3_crt::co......
  • mac安装并配置nexus3.5.1版本
    一、安装nexus前置条件:已经安装了JDK1:下载nexus(http://www.sonatype.com/download-oss-sonatype)最新版本(我的是3.5.1).2:解压下载文件,我的放在了/Users/xxx/myApp下3:配置环境变量:打开/etc目录,在profile文件中加入:NEXUS_HOME="/Users/xxx/myApp/nexus-3.5.1-02-mac/nexus-......
  • 11-CSS3属性详解(一)
    title:11-CSS3属性详解(一)publish:true前言我们在上一篇文章中学习了CSS3的选择器,本文来学一下CSS3的一些属性。本文主要内容:文本盒模型中的box-sizing属性处理兼容性问题:私有前缀边框背景属性渐变文本text-shadow:设置文本的阴影格式举例: text-s......
  • 12-CSS3属性详解:动画详解
    title:12-CSS3属性详解:动画详解publish:true前言本文主要内容:过渡:transition2D转换transform3D转换transform动画:animation过渡:transitiontransition的中文含义是过渡。过渡是CSS3中具有颠覆性的一个特征,可以实现元素不同状态间的平滑过渡(补间动画),经常......