91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

OSS Select使用SQL語句選取OSS文件的內容

發布時間:2022-01-05 12:00:01 來源:億速云 閱讀:245 作者:柒染 欄目:云計算

本篇文章給大家分享的是有關OSS Select使用SQL語句選取OSS文件的內容,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

對象存儲OSS(Object Storage Service)具有海量、可靠、安全、高性能、低成本的特點。OSS提供標準、低頻、歸檔類型,覆蓋多種數據從熱到冷的存儲需求,單個文件的大小從1字節到48.8TB,可以存儲的文件個數無限制。OSS已成為互聯網、企業級數據應用的基礎設施。

通常,獲取對象存儲數據的通方式為:獲取整個對象,或按指定的字節范圍來獲取數據。今天,我們重磅推出OSS Select,直接使用簡單的SQL語句,從OSS的文件中選取所需要的內容

OSS Select介紹

使用SQL選取OSS文件中的內容

OSS Select(公測中)讓開發者可以直接使用SQL語句,從OSS文件中選取需要的內容。
OSS Select使用SQL語句選取OSS文件的內容
使用OSS Select,只獲取應用程序所需的查詢結果,并支持并發地分片查詢,會大幅提升程序的性能,通常情況下能有400%的提升。
OSS Select使用SQL語句選取OSS文件的內容

公測說明:

  • 文件格式:公測期間支持未加密的CSV格式或者有分隔符的UTF8文本文件,參考RFC4180,

  • 公測期間支持標準、低頻類型的Object

  • 支持RangeQuery(公測期間,RangeQuery模式下不支持Use Header Name)

  • OSS Select公測期間免費

  • 后續阿里云EMR、DataLakeAnalytics、MaxCompute、HybridDB等都會陸續支持OSS Select

使用示例(python)

# -*- coding: utf-8 -*-

import os
import oss2


def select_call_back(consumed_bytes, total_bytes = None):
    print('Consumed Bytes:' + str(consumed_bytes) + '\n')
# 首先初始化AccessKeyId、AccessKeySecret、Endpoint等信息。
# 通過環境變量獲取,或者把諸如“<你的AccessKeyId>”替換成真實的AccessKeyId等。
#
# 以杭州區域為例,Endpoint可以是:
#   http://oss-cn-hangzhou.aliyuncs.com
#   https://oss-cn-hangzhou.aliyuncs.com
# 分別以HTTP、HTTPS協議訪問。
access_key_id = os.getenv('OSS_TEST_ACCESS_KEY_ID', '<你的AccessKeyId>')
access_key_secret = os.getenv('OSS_TEST_ACCESS_KEY_SECRET', '<你的AccessKeySecret>')
bucket_name = os.getenv('OSS_TEST_BUCKET', '<你的Bucket>')
endpoint = os.getenv('OSS_TEST_ENDPOINT', '<你的訪問域名>')


# 確認上面的參數都填寫正確了
for param in (access_key_id, access_key_secret, bucket_name, endpoint):
    assert '<' not in param, '請設置參數:' + param


# 創建Bucket對象,所有Object相關的接口都可以通過Bucket對象來進行
bucket = oss2.Bucket(oss2.Auth(access_key_id, access_key_secret), endpoint, bucket_name)
# 
csvfile = 'sample.csv'
resultfilename = 'python_select.csv'

csv_meta_params = {'FileHeaderInfo': 'None',
                'RecordDelimiter': '\r\n'}

# LineRange(可選參數):表示指定查詢行的范圍
select_csv_params = {'FileHeaderInfo': 'None',
                 'LineRange':(100,1000)} 

csv_header = bucket.get_csv_object_meta(key, csv_meta_params)

# 將查詢結果輸出到文件
result = bucket.select_csv_object_to_file(csvfile, resultfile, 
         "select _1, _3, _4 from ossobject where _4 > 40 and  _1 like '%Tom%' ", 
        select_call_back, input_format)

以上是一個簡單的python示例,使用SQL查詢OSS的對象,并將結果輸出到文件匯總。

除了將查詢結果輸出到文件,還可以將查詢結果直接返回

result = bucket.select_csv_object(csvfile,  "select * from ossobject where _4 > 40 and  _1 like '%Tom%' ", select_call_back, select_csv_params)


content_got = b''
for chunk in result:
    content_got += chunk
print(content_got)

查詢結果:
OSS Select使用SQL語句選取OSS文件的內容

測試示例

您可以使用OSS Select來加速您的各類應用。OSS Select團隊,創建了一個Spark的示例,基于OSS Select,實現 Spark Data Source API。假設,您需要從大量的人員名單中,查詢符合條件的人員信息。比如查詢50歲以上,姓名中包含Tom的目標人員。

使用OSS Select提升應用程序性能

  • 啟用OSS Select,Spark借助OSS Select僅獲取文件中所需要的數據;而禁用OSS Select,Spark獲取整個文件
    OSS Select使用SQL語句選取OSS文件的內容

  • 不使用OSS Select,查詢需要78秒(1.3分鐘)。而使用OSS Select,只需要11秒,程序性能提升6倍! 
    OSS Select使用SQL語句選取OSS文件的內容

測試配置說明:

Spark測試集群配置:

數量配置
master14core 8GB
workers24core 8GB

Spark配置:

export SPARK_MASTER_IP=master
export SPARK_WORKER_MEMORY=6g
export SPARK_WORKER_CORES=3
export SPARK_WORKER_INSTANCES=1
export SPARK_EXECUTOR_CORES=1
export SPARK_EXECUTOR_MEMORY=2g

數據量:

CSV數據量為7GB。

以上就是OSS Select使用SQL語句選取OSS文件的內容,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

漾濞| 丽水市| 营口市| 宁化县| 思茅市| 延川县| 克山县| 辽阳市| 马尔康县| 江北区| 驻马店市| 涿鹿县| 垦利县| 乐东| 奉贤区| 衡阳市| 宝山区| 永川市| 抚松县| 紫金县| 康马县| 杭锦后旗| 德昌县| 岢岚县| 扬中市| 新郑市| 扶风县| 西乡县| 都匀市| 班戈县| 田林县| 大悟县| 南宫市| 巴楚县| 永靖县| 平利县| 綦江县| 沛县| 张掖市| 广汉市| 钟祥市|