日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Logica实战与剖析(1)

發布時間:2025/3/12 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Logica实战与剖析(1) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Logica是Datalog家族的一種語言,可以編譯成標準sql。Logica的大部分語法都遵循Yedalog,這是Google早期開發的一種語言。Logica的創建是為了同時享受簡潔清晰的邏輯編程和基于SQL的系統(如BigQuery)的全部功能。

Logica在語義上等同于StandardSQL。它很容易編寫,最重要的是讀取用Logica編寫的中型和大型查詢。這些查詢可以編譯成StandardSQL并在BigQuery上運行。

Logica是為工程師、數據科學家和其他希望在編寫查詢和在BigQuery上運行的管道時使用邏輯編程語法的專家設計的。

Logica編譯為SQL,并通過邏輯編程語法方便地訪問GoogleBigQuery引擎的強大功能。這很有用,因為BigQuery比最先進的本地邏輯編程引擎強大得多。

我們鼓勵您嘗試Logica,尤其是在

您已經在使用邏輯編程,并且需要更多的計算能力,或者

您使用SQL,但對其可讀性感到不滿意,或者

你想學習邏輯編程并將其應用于大數據處理。

在未來,我們計劃支持更多的SQL方言和引擎。

在C、Python、C++、java等程序中,一個基本的程序塊是函數。

在SQL中,查詢中構造一個公共塊。

在邏輯學中,基本的構造塊是謂詞predicate。
謂詞是包含變量的語句。

謂詞是一個非常普遍的概念。函數和查詢(以及表)可以看作是特殊類型的謂詞。

安裝

# Install. python3 -m pip install logica # Run: # To see usage message. python3 -m logica # To print SQL for HelloWorld program. python3 -m logica - print Greet <<<'Greet(greeting: "Hello world!")'

也可如下方法

git clone https://github.com/evgskv/logica cd logica ./logica - print Greet <<<'Greet(greeting: "Hello world!")'

要在BigQuery上運行Logica程序,您需要一個Google云項目。一旦您有了一個項目,您就可以在CoLab中運行Logica程序,提供您的項目id。
要在本地運行Logica,需要Python3。
要從命令行啟動Logica謂詞執行,您需要bq,BigQuery命令行工具。為此,您需要安裝googlecloudsdk。

Cloud SDK 要求安裝 Python;支持的版本是 Python 3(首選,3.5 到 3.8)和 Python 2(2.7.9 或更高版本)。

python --version
如需詳細了解如何選擇和配置 Python 解釋器,請參閱 gcloud topic startup。
下載以下軟件包之一:
注意:如需確定您的操作系統版本,請通過命令行運行 getconf LONG_BIT。
平臺 軟件包 大小 SHA256 校驗和
Linux 64 位
(x86_64)

google-cloud-sdk-334.0.0-linux-x86_64.tar.gz 84.4 MB 8ba026255d73e8b11b8a9b6a4e7f72cbe8b08952df2739d78d6d003666a39d3d
Linux 32 位
(x86)

google-cloud-sdk-334.0.0-linux-x86.tar.gz 81.7 MB bbf1f8b36f2606b3c45d105fe7078810a09e24a1171418530e337226d9547fdd
或者,如需通過命令行下載 Linux 64 位歸檔文件,請運行以下命令:
curl -O https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-334.0.0-linux-x86_64.tar.gz
對于 32 位歸檔文件,請運行以下命令:
curl -O https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-334.0.0-linux-x86.tar.gz
將文件內容提取到文件系統上的任意位置(最好是主目錄)。如果您想替換現有安裝,請移除現有的 google-cloud-sdk 目錄并將歸檔解壓縮到同一位置。
可選。使用安裝腳本將 Cloud SDK 工具添加至您的 PATH。您還可以選擇為您的 shell 啟用命令補全功能以及選擇開啟使用情況統計信息收集功能。
使用以下命令運行腳本(從您在上一步中提取的文件夾的根目錄運行):

./google-cloud-sdk/install.sh
也可以通過提供偏好設置作為標志來以非交互方式(例如,使用腳本)完成此操作。相關說明,請參閱:

./google-cloud-sdk/install.sh --help
打開新終端,以使更改生效。
運行 gcloud init 來初始化 SDK:

./google-cloud-sdk/bin/gcloud init
可選。使用組件管理器安裝其他組件。

邏輯編程是一種聲明式編程范式,其中程序被編寫為一組邏輯語句。

邏輯編程是60年代后期在學術界發展起來的,Prolog和Datalog是邏輯編程語言中最突出的例子。Logica是Datalog家族的一種語言。

數據日志和關系數據庫的出發點是相同的:將數據視為關系,將數據操作視為對這些關系的一系列操作。但是Datalog和SQL在描述這些操作的方式上有所不同。Datalog受一階命題邏輯的數學語法啟發,SQL遵循自然語言的語法。

SQL以自然語言為基礎,使人們能夠訪問數據庫,而無需接受計算機編程或數學方面的正式培訓。當您想要表達的邏輯非常重要時,這種便利性可能會變得非常昂貴。有許多與簡單邏輯程序相對應的難讀SQL查詢示例。

Logica將邏輯程序編譯成SQL表達式,因此可以在最先進的SQL引擎BigQuery上執行。

在數據庫理論家中,Datalog和SQL是等價的。事實上,從數據日志到SQL再到SQL的轉換通常很簡單。但也有一些細微的差別,例如如何處理析取和否定。在Logica中,我們試圖做出一些選擇,盡可能容易地理解最終的SQL結構,從而使用戶能夠編寫高效執行的程序。

logica learn1.l run Prime

總結

以上是生活随笔為你收集整理的Logica实战与剖析(1)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。