第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

將 CSV 加載到 Azure 上的 Neo4j 中

將 CSV 加載到 Azure 上的 Neo4j 中

牧羊人nacy 2022-08-16 18:26:10
我在Azure上有Neo4j操作。我可以使用python和一系列create語句加載數(shù)據(jù):create (n:Person) return n我可以使用python成功查詢。使用 LOAD CSV 需要在 Neo4j 導(dǎo)入目錄中有一個(gè)文件。我已經(jīng)找到了該目錄,但是將文件移動(dòng)到其中被阻止。我還嘗試將文件放在可訪問的目錄中,但隨后無法弄清楚如何在LOAD CSV語句中解決路徑。此 LOAD 會(huì)給出一個(gè)錯(cuò)誤,因?yàn)槲募o法進(jìn)入 Neo4j 導(dǎo)入目錄:USING PERIODIC COMMIT 10000 LOAD CSV WITH HEADERS FROM 'file:///FTDNATree.csv' AS line FIELDTERMINATOR '|' merge (s:SNPNode{SNP:toString(line.Parent)})此語句找不到該文件,并給出錯(cuò)誤:找不到 EXTERNAL 文件USING PERIODIC COMMIT 10000 LOAD CSV WITH HEADERS FROM 'file:///{my directory path/}FTDNATree.csv' AS line FIELDTERMINATOR '|' merge (s:SNPNode{SNP:toString(line.Parent)})盡管 python 和 neo4j 位于同一資源組中,但它們是不同的 VM。問題似乎是兩個(gè)VM之間的互操作性?
查看完整描述

2 回答

?
楊__羊羊

TA貢獻(xiàn)1943條經(jīng)驗(yàn) 獲得超7個(gè)贊

如果您有權(quán)訪問 neo4j.conf,則可以修改 的值以指向可訪問的目錄dbms.directories.import

查看 https://neo4j.com/docs/operations-manual/current/reference/configuration-settings/#config_dbms.directories.import


查看完整回答
反對(duì) 回復(fù) 2022-08-16
?
開心每一天1111

TA貢獻(xiàn)1836條經(jīng)驗(yàn) 獲得超13個(gè)贊

該解決方案在一個(gè)地方?jīng)]有得到很好的記錄。但這是通過反復(fù)試驗(yàn)和錯(cuò)誤演變而來的,并且有效。

  1. 我在資源中創(chuàng)建了一個(gè)存儲(chǔ)帳戶

  2. 創(chuàng)建了一個(gè)可從放置上載文件的代碼訪問的目錄。

  3. 添加了容器,稱為 neo4j-import

  4. 然后,我可以將文件作為blob(即*.csv文件)傳輸?shù)饺萜?/p>

  5. 然后,您需要使該文件可訪問。這涉及創(chuàng)建一個(gè) sas 令牌并將其附加到指向容器和文件的 URL(請參閱下面的 python 代碼來執(zhí)行此操作)。

  6. 您可以在本地瀏覽器中測試此 URL。它應(yīng)該檢索文件,如果沒有 sas 令牌,則無法訪問該文件

  7. 此 URL 在 LOAD CSV 語句中使用,并成功加載 Neo4j 數(shù)據(jù)庫

步驟 4 的代碼;請?jiān)徴迟N到此處時(shí)縮進(jìn)問題。

         from azure.storage.blob import BlobServiceClient, BlobClient, 

    ContainerClient, generate_account_sas, ResourceTypes, AccountSasPermissions


    def UploadFileToDataStorage(FileName,

    UploadFileSourceDirecory=ImportDirectory,BlobConnStr=AzureBlobConnectionString,

Container="neo4j-import"):

           #uploads file as blob to data storage

           #https://docs.microsoft.com/en-us/azure/storage/blobs/storage-quickstart-blobs-python  #upload-blobs-to-a-container

           blob_service_client = BlobServiceClient.from_connection_string(BlobConnStr)

           blob_client = blob_service_client.get_blob_client(container=Container, blob=FileName)

           with open(UploadFileSourceDirecory + FileName, "rb") as data:

               blob_client.upload_blob(data)

關(guān)鍵的 python 代碼(上面的步驟 5)。


    def GetBlobURLwithSAS(FileName,Container="neo4j-import"):

    #https://pypi.org/project/azure-storage-blob/

    #https://docs.microsoft.com/en-us/python/api/azure-storage-blob/azure.storage.blob.blobserviceclient?view=azure-python

    #generates sas token for object blob so it can be consumed by another process

    sas_token = generate_account_sas(

    account_name="{storage account  name}",

    account_key="{storage acct key}",

    resource_types=ResourceTypes(service=False, container=False, object=True),

    permission=AccountSasPermissions(read=True),

    expiry=datetime.utcnow() + timedelta(hours=1))

    return "https://{storage account name}.blob.core.windows.net/" + Container + "/" + FileName + "?" + sas_token

LOAD 語句如下所示,并且不使用 file:/// 前綴:


LOAD CSV WITH HEADERS FROM '" + {URL from above} + "' AS line FIELDTERMINATOR '|'{your cypher query for loading csv}

我希望這有助于其他人瀏覽這種情況!


查看完整回答
反對(duì) 回復(fù) 2022-08-16
  • 2 回答
  • 0 關(guān)注
  • 132 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)