python - 如何在我的计算机中从自定义 Python 中提取 Palantir-foundry 数据
问题描述
我们正在尝试读取大文件。但是我们无法从 tableau live connection 或 power BI 中提取巨大的 palantir-foundry 文件数据。所以我们正在尝试从 python 连接到 Palantir。任何人都可以建议任何其他方式从 palantir 中提取大文件。或者如何从我本地系统的自定义 python 连接到 palantir。
我试图在互联网上找到一些参考资料,但我总是以 palantir 的 pyspark 风格编码结束。我在下面找到了提取 palantir 数据帧的 python 代码。但为此,我也面临一些问题,例如错误代码 400。然后“最大重试次数超出 url:/foundry-data”。我们的 palantir 基本 url 就像https://XXXX.palantirfoundry.com/。当我提供我们公司的这个基本网址时,我收到了 405 错误。有人可以帮忙吗。
import requests
import pandas as pd
def query_foundry_sql(query, token, branch='master', base_url='https://foundry-instance.com') -> (list, list):
"""
Queries the dataproxy query API with spark SQL.
Example: query_foundry_sql("SELECT * FROM `/path/to/dataset` Limit 5000", "ey...")
Args:
query: the sql query
branch: the branch of the dataset / query
Returns: (columns, data) tuple. data contains the data matrix, columns the list of columns
Can be converted to a pandas Dataframe:
pd.DataFrame(data, columns)
"""
response = requests.post(f"{base_url}/foundry-data-proxy/api/dataproxy/queryWithFallbacks",
headers={'Authorization': f'Bearer {token}'},
params={'fallbackBranchIds': [branch]},
json={'query': query})
response.raise_for_status()
json = response.json()
columns = [e['name'] for e in json['foundrySchema']['fieldSchemaList']]
return columns, json['rows']
columns, data = query_foundry_sql("SELECT * FROM `/Global/Foundry
Operations/Foundry Support/iris` Limit 5000",
"ey...",
base_url="https://foundry-instance.com")
df = pd.DataFrame(data=data, columns=columns)
df.head(5)
解决方案
推荐阅读
- puppet - 如果间隔为 24 小时,Puppet 是否会在启动时签入?
- javascript - 无法在javascript中使用前一个元素兄弟增加最后一个元素
- php - PHP 5.3 中的默认 CA 证书位置
- php - 尝试在 Wordpress 页面中添加文本 - 主索引模板 (index.php)
- python - 如何从模型返回自定义 JSON?
- python-3.x - 计算角度时python中的数学域错误
- c# - ASP.NET MVC CSVFile 解析,如何使用 StreamReader 和 ReadLine 方法处理换行符?
- javascript - JQuery Ajax Json Feed 出现无效字符错误
- mongodb - 使用 compose.io 的 BI MongoDB 连接器
- c# - 不支持泛型类型 System.Guid