我正在使用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) 我有一个包含数百万条记录的 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)