小编phi*_*son的帖子

BigQuery异步查询作业 - fetch_results()方法返回错误数量的值

我正在使用BigQuery Client API编写Python代码,并尝试使用异步查询代码(在任何地方作为代码示例编写),并且在fetch_data()方法调用中失败.Python错误输出错误:

ValueError:要解压缩的值太多

因此,3个返回值(rows,total_count,page_token)似乎是错误的返回值数.但是,我找不到任何关于这个方法应该返回的文档 - 除了显示这3个返回结果的众多代码示例之外.

下面是一段代码,显示了我正在做的事情(不包括'client'变量的初始化或导入的库,这在我的代码中更早出现).

#---> Set up and start the async query job
job_id = str(uuid.uuid4())
job = client.run_async_query(job_id, query)
job.destination = temp_tbl
job.write_disposition = 'WRITE_TRUNCATE'
job.begin()
print 'job started...'

#---> Monitor the job for completion
retry_count = 360
while retry_count > 0 and job.state != 'DONE':
    print 'waiting for job to complete...'
    retry_count -= 1
    time.sleep(1)
    job.reload()


if job.state == 'DONE':
     print 'job DONE.'
     page_token = None
     total_count = None
     rownum = 0
     job_results = …
Run Code Online (Sandbox Code Playgroud)

python asynchronous google-bigquery

5
推荐指数
1
解决办法
1064
查看次数

pyarrow 可以将多个 parquet 文件写入一个文件夹,如 fastparquet 的 file_scheme='hive' 选项吗?

我有一个包含数百万条记录的 SQL 表,我计划使用 pyarrow 库将其写入文件夹中的许多 parquet 文件。数据内容似乎太大,无法存储在单个 parquet 文件中。

但是,我似乎找不到 pyarrow 库的 API 或参数来允许我指定如下内容:

file_scheme="hive"
Run Code Online (Sandbox Code Playgroud)

由 fastparquet python 库支持。

这是我的示例代码:

#!/usr/bin/python

import pyodbc
import pandas as pd
import pyarrow as pa
import pyarrow.parquet as pq

conn_str = 'UID=username;PWD=passwordHere;' + 
    'DRIVER=FreeTDS;SERVERNAME=myConfig;DATABASE=myDB'

#----> Query the SQL database into a Pandas dataframe
conn = pyodbc.connect( conn_str, autocommit=False)
sql = "SELECT * FROM ClientAccount (NOLOCK)"
df = pd.io.sql.read_sql(sql, conn)


#----> Convert the dataframe to a pyarrow table and write it out
table = pa.Table.from_pandas(df) …
Run Code Online (Sandbox Code Playgroud)

python hadoop parquet pyarrow

5
推荐指数
1
解决办法
7173
查看次数