一般

問:什麼是 Amazon Athena?
Amazon Athena 是一種互動式查詢服務,可讓您使用標準 SQL 輕鬆分析 Amazon S3 中的資料。Athena 是無伺服器的服務,您不須設定或管理任何基礎設施,即可馬上開始分析資料。您甚至不需要將資料載入 Athena,它可以直接處理存放在 S3 的資料。開始使用時,只須登入 Athena 管理主控台,定義您的結構描述,即可開始查詢。Amazon Athena 使用 Presto,提供完整的標準 SQL 支援且能接受各種標準資料格式,包括 CSV、JSON、ORC、Apache Parquet 和 Avro。Amazon Athena 不但提供迅捷的臨機操作查詢功能,也和 Amazon QuickSight 整合提供簡易的視覺化功能,同時還可以處理複雜的分析,包括大規模聯結、視窗函數和陣列。
 
問:Amazon Athena 有什麼用途?
Amazon Athena 可協助您分析儲存在 Amazon S3 的資料。您可以使用 Athena 透過 ANSI SQL 執行臨機操作查詢,不須將資料彙整到或載入 Athena。Amazon Athena 可以處理非結構化、半結構化和結構化資料集,包括 CSV、JSON、Avro 或單欄資料格式,例如 Apache Parquet 和 Apache ORC。Amazon Athena 與 Amazon QuickSight 整合提供簡易的視覺化功能。您也可以使用 Amazon Athena 產生報告,或者搭配商業智慧工具或透過 ODBCJDBC 驅動程式連線的 SQL 用戶端來探索資料。
 
問:如何開始使用 Amazon Athena?
要開始使用 Amazon Athena,只須登入 Athena 的 AWS 管理主控台,在主控台上撰寫 DDL 陳述式或使用建立表格精靈以建立您的結構描述。接著,您便可以利用內建的查詢編輯器查詢資料。Athena 直接查詢 Amazon S3 的資料,所以不需要載入。
 
問:如何存取 Amazon Athena?
您可以透過 AWS 管理主控台、API 或者 ODBC 或 JDBC 驅動程式存取 Amazon Athena。您可以使用 ODBCJDBC 驅動程式,透過程式設計的方式執行查詢、新增表格或分區。
 
問:Amazon Athena 有哪些服務限制?
按一下這裡,進一步了解服務限制。
 
問:Amazon Athena 的基本技術是什麼?
Amazon Athena 使用 Presto,提供完整的標準 SQL 支援且能接受各種標準資料格式,包括 CSV、JSON、ORC、Avro 和 Parquet。Athena 可以處理複雜的分析,包括大規模聯結、視窗函數和陣列。因為 Amazon Athena 使用 Amazon S3 做為基本的資料存放區,所以可用性高而且時間持久,資料會以備援形式存放在多個設施以及每個設施的多個裝置上。您可在 這裡進一步了解有關 Presto 的資訊。
 
問:Amazon Athena 如何存放表格定義和結構描述?
針對存放於 Amazon S3 的資料所建立的資料庫和表格,Amazon Athena 會使用受管資料型錄存放其資訊和結構描述。在提供 AWS Glue 的區域,您可以將 Amazon Athena 升級為使用 AWS Glue 資料型錄。在不提供 AWS Glue 的區域,Athena 會使用內部型錄。
您可以使用 DDL 陳述式或是透過 AWS 管理主控台修改目錄,您定義的所有結構描述都會自動儲存,除非您確實將它們刪除。Athena 利用查詢讀取時驗證結構描述的技術,也就是在執行查詢時,表格定義才會套用到您在 S3 的資料,不需要載入或轉換資料,您可以刪除表格定義和結構描述,不會影響存放在 Amazon S3 的基礎資料。
 
問:為什麼應該升級到 AWS Glue 資料型錄?
AWS Glue 是全受管的 ETL 服務。Glue 有三個主要元件:1) 網路爬取程式,可自動掃描資料來源、識別資料格式和推斷結構描述;2) 全受管 ETL 服務,可讓您轉換資料並將資料移至不同目的地;以及 3) 資料型錄,可存放 S3 或是 ODBC 或 JDBC 合規資料存放區中存放之資料庫和表格的中繼資料資訊。若要充分利用 Glue 的好處,您必須從使用 Athena 內部資料型錄升級為使用 Glue 資料型錄。
升級到 Glue 資料型錄有以下好處:
  1. 一致的中繼資料儲存庫:AWS Glue 與各式各樣的 AWS 服務整合。AWS Glue 支援存放在 Amazon Aurora、Amazon RDS MySQL、Amazon RDS PostreSQL、Amazon Redshift 與 Amazon S3 中的資料,也支援在 Amazon EC2 上執行的 Virtual Private Cloud (Amazon VPC) 中的 MySQL 和 PostgreSQL 資料庫。AWS Glue 提供立即可用的 Amazon Athena、Amazon EMR、Amazon Redshift Spectrum 和所有 Apache Hive 中繼存放區相容應用程式的整合。
  2. 自動辨識結構描述和分區:AWS Glue 可自動網路爬取資料來源、識別資料格式,以及建議結構描述和轉換。網路爬取程式可協助自動建立表格和自動載入分區。
  3. 輕鬆建立管道:AWS Glue 的 ETL 引擎會產生可自訂、可重複使用的可攜式 Python 程式碼。您可以使用自己偏好的 IDE 或筆記本編輯程式碼,並透過 GitHub 與其他人共享。ETL 任務準備就緒之後,就可以排程在 AWS Glue 全受管、可擴展的 Spark 基礎設施上執行。AWS Glue 是無伺服器服務,所以可處理執行 ETL 任務所需資源的佈建、組態和擴展,讓您將 ETL 緊密整合在工作流程中。
按一下 這裡進一步了解 Glue 資料型錄。
 
問:是否提供升級到 AWS 資料型錄的逐步指南?
是。您可以在 這裡取得逐步指南。
 
問:哪些區域可以使用 Amazon Athena?
請參閱 區域產品與服務,了解各個地區提供 Amazon Athena 服務的詳細資訊。
 

預覽功能

問:Athena 提供哪些預覽功能?
您現在可以在 Athena SQL 查詢叫用 SageMaker 機器學習 (ML) 模型來執行推論。在 SQL 查詢使用機器學習,只要撰寫 SQL 查詢就能執行複雜的任務,例如異常偵測、客群分析及銷售預測。 進一步了解。
 
您現在可利用聯合查詢,在同一查詢中分析跨各種資料存放區存放的資料,無論是現場部署或 AWS 上託管的資料。Athena 支援關聯式、非關聯式、物件或自訂資料來源的聯合查詢。您可以使用 Query Federation SDK 撰寫自己的資料來源連接器。 進一步了解。
 
您現在可用使用者定義功能 (UDF) 在 Java 中撰寫自己的功能,並在 Athena SQL 查詢中叫用這些功能。 進一步了解
 
您可將 Athena 連接至外部的 Apache Hive 中繼存放區。如果您的資料集存放在 Amazon S3,除了使用 AWS Glue 資料目錄作為中繼資料存放區,您也可使用 AWS Lambda 型的資料來源連接器將 Athena 連接至 Hive 中繼存放區。 進一步了解。
 
問:如何測試預覽功能?
來自 AmazonAthenaPreviewFunctionality 工作群組的所有 Athena 查詢都將視為預覽測試查詢。您可用 Athena API 或 Athena UX 建立及設定新的 AmazonAthenaPreviewFunctionality 工作群組。若要建立新的工作群組, 請依照這裡的步驟進行。
 
下列備註在使用預覽功能時很重要。請勿編輯工作群組的名稱。您可編輯其他的工作群組屬性,例如,啟用 CloudWatch 指標和啟用申請者付款。您可用 Athena 主控台、JDBC/ODBC 驅動程式或 API 提交測試查詢。請務必於提交測試查詢時指定 AmazonAthenaPreviewFunctionality 工作群組。預覽功能只在 us-east-1 區域提供。如果您在其他區域使用 Athena,並使用 AmazonAthenaPreviewFunctionality 工作群組提交查詢,查詢將會失敗。預覽模式不支援跨 AWS 區域呼叫。
 
問:在我的生產帳戶中使用 Athena 預覽功能安全嗎?
建議不要將生產工作負載載入到 AmazonAthenaPreviewFunctionality 預覽工作群組。 查詢效能會因預覽工作群組和帳戶中的其他工作群組而有所不同。此外,我們可能在預覽工作群組中加入不會向下相容的新功能和錯誤修正。
 
問:如何提交查詢?
您可使用 Athena 主控台、 Athena API,或使用 Athena 預覽 JDBC 驅動程式搭配 SQL WorkBench 等任何立即可用的查詢和結果視覺化工具來提交查詢。
 
問:如何針對預覽功能提出意見回饋?
您的意見回饋對我們非常重要。請透過電子郵件將您的意見反應傳送至 athena-feedback@amazon.com。
 
問:測試預覽功能是否需要任何費用?
使用預覽版期間,將不會收取從聯合資料來源掃描的資料費用。然而,對於從 Amazon S3 掃描的資料,您需支付標準 Athena 費率。此外,搭配 Athena 使用的 AWS 服務需支付標準費率,這些服務包含 Amazon S3、AWS Lambda、AWS Glue、Amazon SageMaker 和 AWS Serverless Application Repository。例如,您需針對儲存、請求和跨區域資料傳輸支付標準 S3 費率。根據預設,查詢結果會存放在您選擇的 S3 儲存貯體中,而且依標準 Amazon S3 費率計費。如果您使用 AWS Lambda,費用依函數的請求數量和程式碼執行持續時間計算。
 
問:預覽結束時會發生什麼情況?
使用 AmazonAthenaPreviewFunctionality 工作群組提交的所有查詢都將失敗。但您可繼續從其他工作群組提交查詢。如果您未指定任何工作群組,查詢將使用預設的主要工作群組自動執行。請注意,任何功能的預覽皆可能隨時終止。

什麼情況下該選擇 Athena 而不是其他大數據服務

問:Amazon Athena、Amazon EMR 和 Amazon Redshift 有什麼差異?
Amazon Athena 為查詢服務,Amazon Redshift 為資料倉儲,Amazon EMR 為精密的資料處理架構,皆是為了滿足不同的需求和使用案例而設計。您只須為工作選擇合適的工具即可。Amazon Redshift 為企業報告與商業智慧工作負載提供最快速的查詢效能,尤其是包含數個聯結和子查詢而極其複雜的 SQL 工作負載。相較於現場部署的方案,Amazon EMR 能用更簡單且符合成本效益的方法執行高度分散式處理架構,例如 Hadoop、Spark 和 Presto。Amazon EMR 是彈性化的方案,您可以執行自訂應用程式和程式碼,以及定義特定的運算、記憶體、儲存和應用程式參數,讓分析要求最佳化。Amazon Athena 提供最簡單的方法,方便您對 S3 的資料進行臨機操作查詢,不須設定或管理任何伺服器。
 
問:我什麼時候應該使用 Amazon Redshift 這類功能完整的企業資料倉儲,什麼時候應該使用 Amazon Athena 這類查詢服務?
如果您想要把許多不同來源 (例如庫存系統、金融系統、零售銷售系統) 的資料彙集在一起,轉換成通用格式,然後長期存放以利用歷史資料製作精密的商業報告,Amazon Redshift 資料倉儲是您最好的選擇。
 
資料倉儲從整個公司收集資料,做為產生報告和進行分析的「單一真實來源」。資料倉儲從許多來源取得資料,將資料格式化並一一整理存放,然後支援複雜的高速查詢功能以利製作商業報告。Amazon Redshift 的查詢引擎已經最佳化,當您執行複雜的查詢,把非常多個超大型資料庫表格聯結起來時,它的表現尤其出色。TPC-DS 是專為複製這個使用案例而設計的標準衡量指標,比起那些針對非結構化資料最佳化的查詢服務,Redshift 執行這些查詢的速度快 20 倍。當您必須針對高度結構化的資料執行查詢,牽涉到非常多個極大型表格之間的超多聯結時,您應該選用 Amazon Redshift。
 
相較之下,Amazon Athena 的查詢服務可直接針對 Amazon S3 中的資料進行互動式查詢,執行更簡單,不須擔心格式化資料或管理基礎設施的問題。舉例來說,如果您需要快速查詢一些 Web 記錄以利排解網站上的效能問題,Athena 的表現會很出色,查詢服務可以讓您可以更快開始著手解決問題,您只要為資料定義一個表格然後使用標準 SQL 開始查詢。
 
您可以同時使用這兩種服務。若是資料在載入 Amazon Redshift 之前便已在 Amazon S3 上,那些資料也可以向 Amazon Athena 註冊並透過 Athena 查詢。
 
問:我什麼時候應該使用 Amazon EMR,什麼時候應該使用 Amazon Athena?
Amazon EMR 不僅是執行 SQL 查詢,您可以利用 EMR 為應用程式執行各種各樣橫向擴展的資料處理任務,例如機器學習、圖形分析、資料轉換、資料串流,以及幾乎所有可由程式碼控制的應用程式。若您使用最新的大數據處理架構,如 Spark、Hadoop、Presto、Hbase,並利用自訂程式碼處理和分析極大型的資料集,您就應該選用 Amazon EMR,Amazon EMR 讓您全權控制您的叢集以及安裝在叢集上的軟體的組態。
 
若要對 Amazon S3 上的資料進行互動式 SQL 臨機操作查詢,而不須管理任何基礎設施或叢集,請使用 Amazon Athena。
 
問:Amazon Athena 是否可以查詢透過 Amazon EMR 處理的資料?
是,Amazon Athena 和 Amazon EMR 支援許多種相同的資料格式,Athena 的資料目錄與 Hive 中繼存放區相容。若您使用 EMR 而且已經擁有 Hive 中繼存放區,您只要在 Amazon Athena 上執行 DDL 陳述式,即可在不影響 Amazon EMR 工作的情況下開始查詢您的資料。
 
問:Athena 中的聯合查詢與其他 AWS 服務有何關係?[預覽版]
Athena 的聯合查詢可讓您跨各種關聯式、非關聯式和自訂資料來源執行 SQL 查詢。讓您能用一致的方式跨各種資料存放區執行 SQL 查詢。
 
問:Athena 中的機器學習與其他 AWS 服務有何關係?[預覽版]
Athena SQL 查詢可叫用 Amazon SageMaker 上部署的 ML 模型。您可指定 Amazon S3 位置,以用來存放這些 Athena SQL 查詢的結果。
 
 

建立表格、資料格式和分區

問:如何為 Amazon S3 上的資料建立表格和結構描述?
Amazon Athena 使用 Apache Hive DDL 定義表格,您可以使用 Athena 主控台、透過 ODBC 或 JDBC 驅動程式、透過 API 執行 DDL 陳述式,或使用 Athena 建立表格精靈。如果您使用 AWS Glue 資料型錄搭配 Athena,也可以使用 Glue 網路爬取程式自動推斷結構描述和分區。AWS Glue 網路爬取程式會連接到資料存放區,依序處理已排定優先順序的分類器清單以擷取資料的結構描述和其他統計資料,然後將此中繼資料填入 Glue 資料型錄。網路爬取程式可定期執行以偵測是否有可用的新資料以及表格定義變更等現有資料變更。網路爬取程式會自動新增表格、現有表格的新分區,以及新的表格定義版本。您可以自訂 Glue 網路爬取程式以分類自己的檔案類型。
 
您在 Amazon Athena 建立新的表格結構描述時,該結構描述會存放在資料目錄供執行查詢時使用,但是不會修改 S3 中的資料。Athena 使用一種稱為「查詢讀取時驗證結構描述」的技術,讓您在執行查詢時可將結構描述投放在資料上,如此便不必載入或轉換任何資料。進一步了解 建立表格
 
問:Amazon Athena 支援哪些資料格式?
Amazon Athena 支援多種資料格式,如 CSV、TSV、JSON 或純文字檔,亦支援開放原始碼單欄格式,例如 Apache ORC 和 Apache Parquet,Athena 也支援 Snappy、Zlib、LZO 和 GZIP 格式的壓縮資料。藉由壓縮、分割和使用單欄格式,您便可以改善效能並降低成本。
 
問:Amazon Athena 支援哪些資料類型?
Amazon Athena 支援簡單的資料類型,例如 INTEGER、DOUBLE、VARCHAR,也支援複雜的資料類型,例如 MAPS、ARRAY 和 STRUCT。 
 
問:是否可以在 Athena 上執行 Hive 查詢?
Amazon Athena 使用 Hive 僅限於 DDL (資料定義語言) 以及用於建立/修改及刪除表格和/或分區。請 按一下這裡取得所支援的陳述式完整列表。您在 Amazon S3 上執行 SQL 查詢時,Athena 會使用 Presto。您可以執行符合 ANSI 標準的 SQL SELECT 陳述式查詢在 Amazon S3 的資料。
 
問:什麼是 SerDe?
SerDe 代表串聯器/解串器,是指告訴 Hive 如何解譯資料格式的程式庫。Hive DLL 陳述式要求您指定一個 SerDe,讓系統知道如何解譯您所指向的資料。Amazon Athena 使用 SerDes 解譯從 Amazon S3 讀取出來的資料,Athena 中 SerDes 的概念與 Hive 所使用的概念相同。Amazon Athena 支援下列 SerDes:
  1. Apache Web 記錄:"org.apache.hadoop.hive.serde2.RegexSerDe"
  2. CSV:"org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe"
  3. TSV:"org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe"
  4. 自訂分隔符號:"org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe"
  5. Parquet:"org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe"
  6. Orc:"org.apache.hadoop.hive.ql.io.orc.OrcSerde"
  7. JSON:"org.apache.hive.hcatalog.data.JsonSerDe" 或 org.openx.data.jsonserde.JsonSerDe
 
問:是否可以把自己的 SerDe (串聯器/解串器) 新增至 Amazon Athena?
目前您還不能新增自己的 SerDe 到 Amazon Athena。我們很重視您的意見回饋,所以您若是希望新增任何 SerDes,請透過 Athena-feedback@amazon.com 聯絡 Athena 團隊
 
問:我使用 Spark/Hive 建立 Parquet/ORC 檔案,是否可以經由 Athena 查詢這些檔案?
是,Athena 可以讀取透過 Spark 建立的 Parquet 和 ORC 檔案。
 
問:我有 Kinesis Firehose 的資料,我要如何使用 Athena 查詢這些資料?
若您的 Kinesis Firehose 資料存放在 Amazon S3,您可以使用 Amazon Athena 查詢,只須在 Athena 中為資料建立一個結構描述即可開始查詢。我們建議您將資料整理成分區以達到最佳效能,您可以使用 ALTER TABLE DDL 陳述式新增由 Kinesis Firehose 建立的分區。進一步了解 分區
 
問:Amazon Athena 是否支援資料分割?
是。Amazon Athena 允許您對任何直欄上的資料進行分割,您可以利用分區限制每個查詢所掃描的資料數量,藉此節省成本和加速效能。您可以使用 CREATE TABLE 陳述式中的 PARTITIONED BY 子句指定您的分割結構描述。進一步了解 資料分割
 
問:如何把新資料新增到 Amazon Athena 的一個現有表格中?
若您的資料已分割,一旦 Amazon S3 可以使用新資料,您就必須執行中繼資料查詢 (ALTER TABLE ADD PARTITION) 將分區新增至 Athena。若您的資料未分割,把新資料 (或檔案) 新增至現有的字首,資料便會自動新增至 Athena。進一步了解 資料分割
 
問:我在 Amazon S3 中已有大量的日誌資料,是否可以使用 Amazon Athena 查詢?
是,Amazon Athena 讓您可輕鬆地在現有的記錄資料上執行標準 SQL 查詢。Athena 直接查詢 Amazon S3 的資料,所以不需要移動或載入資料。使用 DDL 陳述式簡單定義您的結構描述,即可馬上開始查詢您的資料。

查詢與資料格式

問:Amazon Athena 支援哪些類型的查詢?
Amazon Athena 支援 ANSI SQL 查詢。Amazon Athena 使用開放原始碼、記憶體內的分散式 SQL 引擎 Presto,並且可以處理複雜的分析,包括大規模聯結、視窗函數和陣列。

問:Amazon QuickSight 是否可以搭配 Amazon Athena 使用?
是。Amazon Athena 與 Amazon QuickSight 整合,讓您輕鬆將存放在 Amazon S3 的資料視覺化。

問:Athena 是否支援其他 BI 工具和 SQL 用戶端?
是。Amazon Athena 隨附 ODBC 和 JDBC 驅動程式,方便您搭配其他商業智慧工具和 SQL 用戶端使用。進一步了解使用 ODBC 或  JDBC 驅動程式搭配 Athena。

問:如何存取 Amazon Athena 所支援的功能?
按一下 這裡進一步了解 Amazon Athena 所支援的功能。
 
問:如何改善查詢效能?
藉由壓縮、分割資料或將資料轉換成單欄格式,即可改善查詢效能。Amazon Athena 支援開放原始碼單欄資料格式,例如 Apache Parquet 和 Apache ORC。將資料轉換成壓縮的單欄格式可降低成本並改善查詢效能,因為您執行查詢時 Athena 從 S3 掃描的資料較少。
 
問:Athena 是否支援使用者定義函數 (UDF)?[預覽版]
Amazon Athena 現在支援使用者定義功能 (UDF),可讓您撰寫自訂的 Scalar 函數並在 SQL 查詢中叫用。雖然 Athena 提供了內建函數,但 UDF 能讓您執行自訂處理,例如壓縮和解壓縮資料、編寫敏感資料,或是套用自訂的解密。

您可以使用 Athena Query Federation SDK 以 Java 撰寫 UDF。提交至 Athena 的 SQL 查詢使用 UDF 時,會在 AWS Lambda 上叫用 UDF 並執行。UDF 可用於 SQL 查詢的 SELECT 與 FILTER 子句。您可以在相同查詢中叫用多個 UDF。
 
問:撰寫 UDF 時,使用者有何體驗?[預覽版]
您可以使用 Athena Query Federation SDK 撰寫自己的 UDF。UDF 範例 提供於此處。 您可將函數上傳至 AWS Lambda,然後在 Athena 查詢中叫用。 按一下這裡以開始使用
 
Athena 會在資料集列批次中叫用 UDF,以將效能最佳化。

聯合查詢 [預覽版]

問:為何應該在 Athena 中使用聯合查詢?[預覽版]
開發人員在將資料存放於 S3 時通常需選擇關聯式資料庫、鍵值資料庫、文件資料庫、記憶體內資料庫、搜尋資料庫、圖形資料庫、時間序列資料庫和總帳資料庫。而要跨如此多的資料來源對資料執行分析,極為複雜,而且很費時間。分析師經常需要學習新的程式設計語言和資料庫建構,以及建立複雜管道,對資料進行擷取、轉換和建立副本,然後才能分析資料。同樣地,資料科學家也經常需要從多個資料來源擷取資料,建立適合日後擷取和訓練的資料集。此流程極為耗時,且會妨礙建立自助式平台,使分析師和資料科學家無法輕鬆建立可從多個來源擷取資料的管道。分析師通常要靠資料工程團隊建立這類管道,因此會造成延誤,增加複雜度。聯合查詢則化繁為簡,因為它提供了簡單易用、依查詢付費的無伺服器服務,可讓您跨各種資料存放區執行 SQL 查詢。您可用熟悉的 SQL 建構跨多個資料來源查詢資料,快速進行分析,或使用排程的 SQL 查詢擷取及轉換多個資料來源的資料,然後再存放到 S3 供日後分析。
 
此外,您也可能有專屬或自訂的資料庫與目錄。Athena 聯合查詢是可擴展的,因為它可讓您撰寫自己的連接器或使用社群開發的連接器,對您選擇的任何資料來源或自訂目錄執行 SQL 查詢。有許多這類資料來源的開放原始碼參考實作,可供您在開發新實作時作為基準。
 
問:Athena 聯合查詢支援哪些使用案例?[預覽版]
Athena 聯合查詢支援多種使用案例。其中一例為臨機操作分析,此分析通常會將資料存放在各種資料存放區。思考一下,有一間電子商務公司,他們使用 Amazon ElasticCache Redis 存放有效訂單,使用 Amazon DocumentDB 或 MongoDB 存放電子郵件地址、寄送地址等客戶特定資訊,使用 Amazon CloudWatch Logs (例如,自訂資料存放區的) 來存放訂單處理應用程式的記錄事件。您可能會想知道某個回報為已延誤的特定訂單到底發生了什麼事。您可用簡單查詢來加入跨多個資料存放區的資料,以快速執行分析。
 
另一個例子,則是來自多個資料來源的 ETL。執行分析,通常需要組合來自多個資料來源的資料,之後才能進一步在資料倉儲中發佈或使用 Athena、Apache Spark 或 Apache Presto 等引擎進行查詢。要進行這一類的組合,需要建立資料管道,如此才能按排程從多個來源擷取及轉換資料。而要建立資料管道,通常需要學習 Python 和 Java 這類新的程式設計語言,或使用像是 Apache Spark 等大型的分散式系統。分析師通常得靠資料工程團隊來建立這類管道。有了 Athena 聯合查詢,任何人都能用 SQL 陳述式來表示其管道,並排程按時間執行。
 
第三個例子則是機器學習擷取:資料科學家經常需要從多個資料來源擷取資料,建立適合日後擷取和訓練的資料集。這個過程不但耗時,又會妨礙建立自助式平台。
 
問:Athena 資料來源連接器的運作方式?[預覽]
您可在 Athena 中註冊新的資料存放區,如此便能對新的資料存放區執行 SQL 查詢。要註冊資料來源,請使用該資料來源專屬的 Athena 資料來源連接器。連接器可用來將 Athena 的查詢功能擴展到新的資料來源。除了用 AWS 提供的開放原始碼連接器,您也可建立自己的連接器,或對現有的連接器作出貢獻,或使用社群或 Marketplace 建立的連接器。視資料來源類型而定,連接器將管理中繼資料資訊、識別資料表中需要掃描、讀取或篩選的特定部分,以及管理並行度。
 
作為 AWS Lambda 執行的連接器會在客戶帳戶中運作。每個連接器是由資料來源專屬的兩個 Lambda 函數組成 – 一個用於中繼資料,一個用於記錄讀取。您可用 Github 儲存庫中的程式碼部署 Lambda 函數,或使用 AWS Serverless Application Repository 中預先部署的 Lambda 函數。Lambda 函數一經部署後,便會產生唯一的 Amazon Resource Name 或 ARN。您必須將這些 ARN 註冊到 Athena。註冊 ARN 後,Athena 便能知道執行查詢時該與哪些 Lambda 函數通訊。兩個 ARN 皆完成註冊後,您便能查詢註冊的資料來源。每個資料來源都需要重複執行此流程。
 
查詢在聯合資料來源上執行時,Athena 會平行散發 Lambda 叫用讀取中繼資料和資料。平行叫用的數量取決於您帳戶中的 Lambda 並行限制。例如,如果您的並行 Lambda 叫用限制為 300 個,Athena 可執行叫用 300 個平行 Lambda 函數來用於記錄讀取。如為兩個平行執行的查詢,Athena 則會叫用並行執行數量的兩倍。您可為其分別定義限制,使其能控制資料來源的成本和輸送量。
 
問:Athena 聯合查詢有哪些連接器可用?[預覽版]
Athena 擁有 Apache HBase、Amazon DocumentDB、Amazon DynamoDB,以及 Amazon CloudWatch Logs 和 CloudWatch 指標的開放原始碼資料來源連接器。Athena 也有通用的 JDBC 連接器,可連接至任何 JDBC 相容資料來源,還有 AWS Configuration Management Database (CMDB) 連接器,可讓客戶對 AWS 資源中繼資料執行查詢。
 
問:如何使用 Query Federation SDK?[預覽版]
您可用 Query Federation SDK 建立自己的連接器,以在透過 Athena 查詢資料來源時使用。每個連接器皆提供了實作範本。您可用範本作為基準。請參閱我們的 文件以開始使用。
 
問:聯合查詢功能可以用於 ETL 嗎? 其工作流程為何?[預覽版]
所有的 Athena 查詢結果都會存放在您設定的 Amazon S3 位置。您可用 Athena 的聯合查詢功能執行查詢,掃描您選擇的資料來源,並將同一個 SQL 查詢的結果存放在 S3。JOIN、Filter 子句等常見的 SQL 建構皆可支援。此外,您也可使用 Athena 的 UDF 功能定義自己的功能,對結果資料集進行預先處理或後置處理。
 
問:是否會發佈 JAVA 以外其他程式設計語言的 SDK 支援?[預覽版]
請用電子郵件將您希望能支援的程式設計語言寄到 athena-feedback@amazon.com
 
問:Query Federation SDK 有哪些已知限制?[預覽版]
預覽推出時,Query Federation SDK 僅支援 Reads 和 JAVA 基礎的 Lambda 函數。

機器學習 [預覽版]

問:Athena 支援哪些嵌入式 ML 使用案例?[預覽版]
Athena 的 ML 使用案例橫跨各種不同的產業,如底下範例所示。財務風險資料分析師可執行假設分析和蒙地卡羅模擬法。商業分析師可執行線性迴歸或預測模型來預測未來價值,幫助其建立更豐富且具前瞻性的商業儀表板,以用於預測營收。行銷分析師可使用 k-means 叢集模型,協助判斷其不同的客戶區隔。安全分析師可使用邏輯迴歸模型 (雙變項和多變項),從各種記錄中找出異常並偵測安全事件。
 
問:哪些 ML 模型可用於 Athena?[預覽版]
Athena 可叫用 Amazon SageMaker 上部署的任何 ML 模型。您可彈性使用自己的專屬資料來訓練模型,或是使用已預先訓練和部署在 SageMaker 上的模型。例如,如果您想將新記錄分類放入先前記錄所用的相同類別,可在您自己的資料上訓練叢集分析。另一方面,用於預測真實世界的運動賽事時,則可使用公開可用的模型,因為所用的訓練資料早已出現在公開網域。網域特定或產業特定預測通常是在 SageMaker 中您自己的資料上訓練,無差別的 ML 需求則可能使用外部模型。
 
問:是否可以使用 Athena 訓練我的 ML 模型?[預覽版]
您無法使用 Athena 在 SageMaker 上訓練及部署自己的 ML 模型。您可訓練 ML 模型,或使用已利用 Athena 在 SageMaker 上部署已預先訓練的現有模型。詳述 SageMaker 上的訓練步驟的文件在此處
 
問:可以對我自己 EC2 叢集上部署的 Comprehend、Forecasting 或 Models 等其他服務上部署的模型執行推論嗎?[預覽版]
Athena 僅支援叫用 SageMaker 上部署的 ML 模型。歡迎提供意見回饋,告訴我們您想在 Athena 上使用哪些其他服務。請透過電子郵件將您的意見反應傳送至:athena-feedback@amazon.com。
 
問:使用 Athena 查詢進行 SageMaker 推論有什麼效能影響?[預覽版]
我們會持續在功能與服務中加入作業效能的強化。為了將 Athena ML 查詢的效能最佳化,我們在叫用 SageMaker ML 模型以用於推論時會對列進行批次處理。我們目前不支援使用者提供的列批次大小覆寫。
 
問:Athena ML 支援哪些功能?[預覽版]
Athena 提供由 SQL 介面包裝的 ML 推論 (預測) 功能。您也可呼叫 Athena 使用者定義功能 (UDF,亦包含在預覽版中),在您的結果集上叫用預先或後置處理邏輯。輸入可以包含任何欄、記錄或資料表,也可批次處理多個呼叫,以提高可擴展性。您可在 Select 階段或 Filter 階段中執行推論。若要進一步了解,請 參閱我們的說明文件
 
問:我可以使用哪些 ML 模型?[預覽版]
Amazon SageMaker 支援多種 ML 演算法。您也可建立自己專屬的 ML 模型,並在 Amazon SageMaker 上部署。例如,如果您想將新記錄分類放入先前記錄所用的相同類別,可在您自己的資料上訓練叢集分析。另一方面,用於預測真實世界的運動賽事時,則可使用公開可用的模型,因為所用的訓練資料已出現在公開網域。
 
我們預期網域特定或產業特定預測通常是在 SageMaker 中您自己的資料上訓練,無差別的 ML 需求則可能使用外部模型。

安全性與可用性

問:如何控制對我的資料的存取?
Amazon Athena 允許您使用 AWS Identity and Access Management (IAM) 政策、存取控制清單 (ACL)、Amazon S3 儲存貯體政策控制資料存取。您可以利用 IAM 政策讓 IAM 使用者透過精細定義的控制功能存取 S3 儲存貯體,藉由控制 S3 的資料存取,您便可以限制使用者透過 Athena 查詢哪些資料。
 
Athena 是否可查詢 Amazon S3 中的加密資料?
是,您可以查詢以下列方式加密的資料:使用 Amazon S3 受管加密金鑰的伺服器端加密、AWS Key Management Service (KMS) – 受管金鑰的伺服器端加密,以及由 KMS 管理的金鑰的用戶端加密。Amazon Athena 還與 KMS 整合,為您提供加密結果集的選擇。
 
問:Athena 是高度可用的服務嗎?
是。Amazon Athena 的可用性高而且使用多個設施之間的運算資源執行查詢,若特定設施無法連線,會自動選擇合適的查詢路徑。Athena 使用 Amazon S3 做為基礎資料存放區,讓您資料具有高可用性和耐久性。Amazon S3 提供耐久的基礎設施來存放重要資料,並提供 99.999999999% 的物件耐久性。您的資料會以冗餘方式存放在多個設施以及每個設施的多個裝置。
 
問:我是否可以允許跨帳戶存取其他人的 S3 儲存貯體?
可以,您可以允許跨帳戶存取 Amazon S3。

定價和帳單

問:Amazon Athena 的價格是多少?
Amazon Athena 是依查詢計價,而費用是以查詢所掃描的資料量為依據。您可以用多種不同格式將資料存放在 Amazon S3 上,若您壓縮資料、進行分割或是轉換成單欄儲存格式,因為掃描的資料較少,所以費用也會減少。將資料轉換成單欄格式後,Athena 便只須讀取處理查詢所需的直欄。請參閱 Athena 定價頁面了解詳細資訊
 
問:為什麼使用單欄格式後我支付的費用會減少?
Amazon Athena 依每次查詢所掃描的資料量計費,壓縮資料後 Amazon Athena 須掃描的資料就會比較少。將資料轉換成單欄格式後,Athena 可以選擇僅讀取處理資料所需的直欄,資料分割後,Athena 也可以限制掃描的資料量,如此一來便可節省成本和改善效能。詳細資訊請參閱 定價範例。
 
問:我要如何降低成本?
壓縮資料、分割資料以及將資料轉換成單欄格式,即可節省 30% 至 90% 的查詢成本並提高效能表現。上述每一項操作都會減少 Amazon Athena 在執行查詢時所需掃描的資料量。Amazon Athena 支援兩種最常見的開放原始碼單欄格式:Apache Parquet 和 ORC。您可以到 Athena 主控台查看每次查詢所掃描的資料量。
 
問:Amazon Athena 查詢失敗時是否計費?
不,查詢失敗不會計費。
 
問:Amazon Athena 是否會對取消的查詢計費?
是,若您手動取消查詢,便會依據截至取消查詢前所掃描的資料量計費。
 
問:Amazon Athena 是否會收取其他費用?
Amazon Athena 直接查詢 Amazon S3 的資料,所以您的來源資料會依 S3 的費率計費。Amazon Athena 執行查詢時,會把結果存放在您選擇的 S3 儲存貯體中,這些結果集合的費用會依標準 S3 費率計費。我們建議您監控這些儲存貯體,利用生命週期政策來控制要保留多少資料。
 
問:使用 AWS Glue 資料型錄是否需要付費?
是,使用 AWS Glue 資料型錄需要另外付費。按一下 這裡進一步了解 Glue 資料型錄定價。
網頁影像
瀏覽定價頁面

探索定價選項。

進一步了解 
帳戶註冊影像
註冊免費帳戶

立即存取 AWS 免費方案。 

註冊 
工具箱影像
開始在主控台進行建置

開始在 AWS 管理主控台使用 Amazon Athena進行建置。

登入