簡體   English   中英

在Amazon Dynamo DB中編寫復雜查詢(數學表達式)

[英]Writing Complex queries in Amazon Dynamo DB(Mathematical expressions)

我已經從mysql切換到Dynamo DB。在mysql中我使用了一個查詢來獲取更接近特定緯度和經度的所有用戶。查詢是

SELECT *,SQRT( POW( 69.1 * ( latitude - $latitude) , 2 ) + POW( 69.1 * ( $longitude - longitude ) * COS( latitude / 57.3 ) , 2 ) ) AS distance FROM coupon WHERE is_active='Y' HAVING distance<=$radius

是否可以像在Dynamo DB中創建一個查詢。我使用PHP作為我的后端

不, Amazon DynamoDB不提供像開箱即用的復雜SQL查詢,畢竟,當您想要使用NoSQL數據庫時必須要做的事情;)

但是,鑒於DynamoDB專門針對需要快速且可預測的性能和無縫可擴展性的用例而開發,這通常意味着大型數據集,它提供與Amazon Elastic MapReduce(Amazon EMR)的集成,用於您的用例:

Amazon DynamoDB還與Amazon Elastic MapReduce(Amazon EMR)集成。 Amazon EMR允許企業使用AWS上托管的即用即付Hadoop框架對其大型數據集執行復雜分析。 [...]企業還可以使用Amazon EMR訪問多個商店(即Amazon DynamoDB,Amazon RDS和Amazon S3)中的數據,對此組合數據集進行復雜分析,並將此工作的結果存儲在Amazon S3中。

您可能需要閱讀使用Amazon EMR在Amazon DynamoDB中導出,導入,查詢和連接表的詳細信息 ,其中總結了使用類似SQL的語句(HiveQL)查詢實時Amazon DynamoDB數據等。 雖然HiveQL提供了比DynamoDB本身更多的功能,但它仍然是一種簡單的類似SQL的查詢語言 ,並且不包括像你這樣的數學表達式。

對於這些,您需要深入了解Hadoop和MapReduce (由DynamoDB EMR集成提供),因為它允許您根據需要對數據執行任何操作(請參閱例如如何使用自定義JAR創建作業流程) )。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM