我需要一个程序的帮助.
如果用户可以控制日期,如何在任何给定日期添加3周(21天)?
用户将输入日期YYYY-MM-DD.
下面我试图找到连字符,并确保只有2.这是我到目前为止,但它所做的只是重复,有人能告诉我我哪里出错了吗?:
date = raw_input("Enter date: ")
i = 0
while i <= len(date):
if date[i] != "-":
i = i + 1
print date
Run Code Online (Sandbox Code Playgroud)
现在我正在挑选年,月,日.有没有更简单的方法来做到这一点,因为我需要考虑更改月份等?
year = date[0:4]
month = date[5:7]
day = date[9:11]
Run Code Online (Sandbox Code Playgroud)
谢谢
我面临一个问题。基本上,我想删除所有重复的行,我在几个表中成功做到了。但有一个表包含 FLOAT 列,即 REVENUE。它显示这个错误:
错误:[5:70] 不允许按 FLOAT64 类型的表达式进行分区 以下是我的代码:
CREATE OR REPLACE TABLE `pops-204909.monthly_reports.top_20_countries_revenue` AS
SELECT * EXCEPT(rn)
FROM
(
SELECT *, ROW_NUMBER() OVER(PARTITION BY CMS_ID, DATE,COUNTRY_NAME,REVENUE ORDER BY DATE ) rn
FROM `pops-204909.monthly_reports.top_20_countries_revenue`
)
WHERE rn = 1
Run Code Online (Sandbox Code Playgroud) 我需要在 python 中运行一个 bigquery 脚本,它需要在谷歌云存储中以 CSV 形式输出。目前,我的脚本触发大查询代码并直接保存到我的电脑。
但是,我需要让它在 Airflow 中运行,这样我就不能有任何本地依赖项。
我当前的脚本将输出保存到本地计算机,然后我必须将其移至 GCS。网上查了一下,也搞不懂。(ps,我对 python 很陌生,所以如果之前有人问过这个问题,我提前表示抱歉!)
import pandas as pd
from googleapiclient import discovery
from oauth2client.client import GoogleCredentials
def run_script():
df = pd.read_gbq('SELECT * FROM `table/veiw` LIMIT 15000',
project_id='PROJECT',
dialect='standard'
)
df.to_csv('XXX.csv', index=False)
def copy_to_gcs(filename, bucket, destination_filename):
credentials = GoogleCredentials.get_application_default()
service = discovery.build('storage', 'v1', credentials=credentials)
body = {'name': destination_filename}
req = service.objects().insert(bucket=bucket,body=body, media_body=filename)
resp = req.execute()
current_date = datetime.date.today()
filename = (r"C:\Users\LOCALDRIVE\ETC\ETC\ETC.csv")
bucket = 'My GCS BUCKET'
str_prefix_datetime = datetime.datetime.now().strftime('%Y%m%d_%H%M%S')
destfile = …Run Code Online (Sandbox Code Playgroud) 我想知道是否可以在Google BigQuery中为单个数组值订购(应用order by)?
我能够通过首先在整个transactonal基表上应用order,然后聚合数组来实现这一点; 但是当表太大时,会出现资源错误,以便通过大表进行排序.
所以我想知道是否可以使用SQL或UDF对每个单独的数组值进行排序.
这曾被问过一次大数据重复记录的数据顺序,但这是4,5年前.
在大查询期间,SQL语句中函数的参数我想通过将其作为@变量名插入来更新sql语句的结果。但是,没有方法支持node.js。
对于Python,有类似以下示例的方法。您可以使用函数的参数作为@变量名。
query = "" "
SELECT word, word_count
FROM `bigquery-public-data.samples.shakespeare`
WHERE corpus = @ corpus
AND word_count> = @min_word_count
ORDER BY word_count DESC;"" "
query_params = [
bigquery.ScalarQueryParameter ('corpus', 'STRING', 'romeoandjuliet'),
bigquery.ScalarQueryParameter ('min_word_count', 'INT64', 250)]
job_config = bigquery.QueryJobConfig ()
job_config.query_parameters = query_params
Run Code Online (Sandbox Code Playgroud)
相关文档: https://cloud.google.com/bigquery/docs/parameterized-queries#bigquery-query-params-python
我想请教一下。
如果Google App Engine Maven 插件未安装在默认位置,则需要指定 Google Cloud SDK 的位置。
mvn appengine:deploy -DcloudSdkPath="WHAT_TO_PUT_HERE?"
Run Code Online (Sandbox Code Playgroud)
gcloud有没有办法从命令行获取 Google Cloud SDK 的位置?
要将 bigquery 查询与实际代码分开,我想将 sql 存储在一个单独的文件中,然后从 python 代码中读取它。我试图将文件添加到与 DAG 相同的存储桶中,也添加到子文件夹中,但是当气流使用 sql 文件运行我的 python 脚本时,我似乎无法读取该文件。
我想要的是这个:
gs://my-bucket/dags -> store dags
gs://my-bucket/dags/sql -> store sql files
Run Code Online (Sandbox Code Playgroud)
sql 文件可能是我需要先阅读以注入 jinja 模板不支持的内容的文件。
我可以做以上吗?
我正在编写一个函数来帮助处理一个可选的依赖项(类似于pytest.importorskip),我想输入它,但不确定要使用什么类型。因为我总是返回一个特定的模块或 None,我想我可以比“Any”更具体。
def try_import_pyarrow():
try:
import pyarrow
except ImportError:
pyarrow = None
return pyarrow
Run Code Online (Sandbox Code Playgroud)