<p>我试图编写一个示例代码,将azuredatalake中的csv文件中的数据读取到pandas中的dataframe。在</p>
<p>下面是我的示例代码。在</p>
<pre><code>from azure.datalake.store import core, lib, multithread
import pandas as pd
tenant_id = '<your Azure AD tenant id>'
username = '<your username in AAD>'
password = '<your password>'
store_name = '<your ADL name>'
token = lib.auth(tenant_id, username, password)
# Or you can register an app to get client_id and client_secret to get token
# If you want to apply this code in your application, I recommended to do the authentication by client
# client_id = '<client id of your app registered in Azure AD, like xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx'
# client_secret = '<your client secret>'
# token = lib.auth(tenant_id, client_id=client_id, client_secret=client_secret)
adl = core.AzureDLFileSystem(token, store_name=store_name)
f = adl.open('<your csv file path, such as data/test.csv in my ADL>')
df = pd.read_csv(f)
</code></pre>
<p>注意:如果您使用<code>client_id</code>&;<code>client_secret</code>进行身份验证,则必须为至少在Azure AD中具有<code>Reader</code>角色的应用添加必要的访问权限,如下图所示。有关访问安全性的详细信息,请参阅正式文档<a href="https://docs.microsoft.com/en-us/azure/data-lake-store/data-lake-store-security-overview" rel="nofollow noreferrer">^{<cd4>}</a>。同时,关于如何在azuread中注册应用程序,你可以参考我对另一个SO线程<a href="https://stackoverflow.com/questions/54760786/how-to-get-an-azureratecard-with-java/54784589#54784589">How to get an AzureRateCard with Java?</a>的回答。在</p>
<p><a href="https://i.stack.imgur.com/FN1if.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/FN1if.png" alt="enter image description here"/></a></p>
<p><a href="https://i.stack.imgur.com/3SVXS.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/3SVXS.png" alt="enter image description here"/></a></p>
<p>有任何问题,请随时告诉我。在</p>