小编Nat*_*yne的帖子

BigQuery中的IS NULL函数问题

我写的是一个新的跟进,回应了一篇文章中提出的问题.

目前,我正在使用一个数据集来过滤掉单元格内记录空白的值.具体来说,我有以下查询:

SELECT visitNumber, visitId, visitStartTime, totals_timeOnSite, trafficSource_medium, hits_transaction_transactionId, fullVisitorId, RIGHT(hits_transaction_transactionId,10) AS Transact_ID
FROM [From_USCC.consolid_GA_oct]
WHERE hits_transaction_transactionId IS NOT NULL
Run Code Online (Sandbox Code Playgroud)
  • 我知道该功能存在问题IS NULL(或存在问题).这个问题仍然存在吗?

  • 当我过滤掉IS NOT NULL它时,它会干净地删除所有没有数据"" hits_transaction_transactionId的行,以及its_transaction_transactionId单元格中带有"NULL"字样的所有行 吗?

我问,因为我从报告中获得了大量数据,我无法归结为GA并且我正在尝试理解原因.

google-bigquery

6
推荐指数
1
解决办法
3万
查看次数

如何为AdWords API脚本生成USER_AGENT

为了使用Python从AdWords-API提取数据,生成USER_AGENT的最有效方法是什么?该值是我需要能够提取数据的最后一个值.任何帮助将不胜感激.

user_agent: INSERT_USER_AGENT_HERE
Run Code Online (Sandbox Code Playgroud)

google-adwords google-oauth adwords-apiv201402

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

在第二行的R WITH标头中导入大的.CSV的延迟时间很长

我正在开发一个应用程序,它从.csv中提取数据,然后对它进行一些计算.挑战在于.csv的尺寸可能非常大.我在这里回顾了一些帖子,讨论了使用各种函数和库导入大型.csv文件的问题.以下是一些例子:

### size of csv file: 689.4MB (7,009,728 rows * 29 columns) ###

system.time(read.csv('../data/2008.csv', header = T))
#   user  system elapsed 
# 88.301   2.416  90.716

library(data.table)
system.time(fread('../data/2008.csv', header = T, sep = ',')) 
#   user  system elapsed 
#  4.740   0.048   4.785

library(bigmemory)
system.time(read.big.matrix('../data/2008.csv', header = T))
#   user  system elapsed 
# 59.544   0.764  60.308

library(ff)
system.time(read.csv.ffdf(file = '../data/2008.csv', header = T))
#   user  system elapsed 
# 60.028   1.280  61.335 

library(sqldf)
system.time(read.csv.sql('../data/2008.csv'))
#   user  system elapsed 
# 87.461   3.880  91.447
Run Code Online (Sandbox Code Playgroud)

我遇到的挑战是这个.有问题的.csv在第二行有标题,第一行有无用的信息.我的初始方法(成功应用于小于5MB的较小文件)是在删除第一行后使用以下代码导入较小的文件. …

csv r bigdata

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

BigQuery SQL中的LAG()函数错误; 无法返回滞后的hits.page.pagePath

我目前正在尝试在BigQuery表中创建一个列,该列只包含hits.page.pagePath的滞后值.对于此示例,假设我的hits.time值为0,513,518,762,991.这些值对应于我创建的unique_visit_id.每天有成千上万的独特访问,每个访问都有不同的点击次数,时间值和行号.

为了帮助进行各种计算,我想在数据框中添加一个列,该列只包含hits.page.pagePath列中所有行的滞后值(当hits.time> 0时没有关联的滞后).请注意,hits.time是一个重复的组,它引用了使用的唯一访问ID CONCAT(fullVisitorId, STRING(visitId)) AS unique_visit_id.因此,我怀疑会涉及像OVER这样的命令.我的初始查询使用以下方法:

SELECT date, LAG(hits.page.pagePath,1), CONCAT(fullVisitorId, STRING(visitId)) AS unique_visit_id, visitId, visitNumber, fullVisitorId, totals.pageviews, totals.bounces, 
hits.page.pagePath, device.deviceCategory, device.browser, device.browserVersion, hits.customVariables.index,
hits.customVariables.customVarName, hits.customVariables.customVarValue, hits.time
FROM (FLATTEN([XXXXXXXX.ga_sessions_20140711], hits.time))
WHERE hits.customVariables.index = 4
ORDER BY unique_visit_id DESC, hits.time ASC
LIMIT 1000;
Run Code Online (Sandbox Code Playgroud)

因此遗憾地返回了错误:

错误:LAG是一个分析函数,必须附带一个OVER子句.

工作ID:XXXXXXXX-XXX:job_zduhuRKgvrgmA7niBzcyb3empwY

我已经猜到OVER会引用,CONCAT(fullVisitorId, STRING(visitId)) AS unique_visit_id因为包含相同unique_visit_id的每一行代表一次唯一访问中的命中.不幸的是,在这里使用OVER也返回了一个错误.

google-bigquery

4
推荐指数
1
解决办法
1463
查看次数

查询操作出错:没有项目 ID 则无法启动作业

我使用 bq 命令行工具时不断收到错误。例如,我可以轻松运行此查询,它会返回我想要的表:

head -n 10 xxxx-bq:name_name.Report2
Run Code Online (Sandbox Code Playgroud)

请注意,xxxx-bq 是项目 ID,name_name 是数据集 ID。当我尝试对该表运行查询时,请说出以下内容:

query "SELECT count(*) FROM xxxx-bq:name_name.Report2
Run Code Online (Sandbox Code Playgroud)

我收到一条错误消息,提示我无法在没有项目 ID 的情况下开始工作。我在这里做错了什么?如何在查询中指定项目 ID?我知道人们也问过一些类似的问题。也就是说,我一直在跟进,但我的方法不起作用。

google-bigquery

3
推荐指数
1
解决办法
4365
查看次数

无法使用OAuth2为AdWords帐户生成刷新令牌

我无法使用Python为AdWords API生成刷新令牌,需要一些帮助.情况如下:

  • 我在AdWords上有一个客户,我想通过AdWords API提取报告(我们现在有一个开发人员令牌).我们可以说,在AdWords中,客户帐户是521-314-0974(这样做).这是我困惑的地方:

下面是生成我正在努力工作的刷新令牌所需的以下代码片段:

"""Generates a refresh token for use with AdWords."""

__author__ = 'Nathaniel Payne'

import sys
import urllib2

from oauthlib import oauth2

# Your OAuth 2.0 Client ID and Secret. If you do not have an ID and Secret yet,
# please go to https://console.developers.google.com and create a set.
CLIENT_ID = 'INSERT_CLIENT_ID_HERE'
CLIENT_SECRET = 'INSERT_CLIENT_SECRET_HERE'

# You may optionally provide an HTTPS proxy.
HTTPS_PROXY = None

# The AdWords API OAuth 2.0 scope.
SCOPE = u'https://adwords.google.com/api/adwords'
# …
Run Code Online (Sandbox Code Playgroud)

python google-adwords google-oauth adwords-apiv201402

3
推荐指数
1
解决办法
3299
查看次数

在Python中对日期列表进行排序

我在python中有一个列表,它是名称是创建日期的目录;

import os
ConfigDir = "C:/Config-Archive/"
for root, dirs, files in os.walk(ConfigDir):
    if len(dirs) == 0: # This directory has no subfolder
        ConfigListDir = root + "/../" # Step back up one directory
        ConfigList = os.listdir(ConfigListDir)
        print(ConfigList)

['01-02-2014', '01-03-2014', '01-08-2013', '01-09-2013', '01-10-2013']
Run Code Online (Sandbox Code Playgroud)

我想要最新的目录,就是那个例子01-03-2014,列表中的第二个目录.日期是DD-MM-YYYY.

可以使用lamba排序键对其进行排序,还是应该进行简单的排序并编写一个简单的排序函数?

python sorting date

2
推荐指数
1
解决办法
210
查看次数

使用FLATTEN进行SQL调用导致的“错误:查询执行期间超出了资源”

我目前正在尝试在BigQuery中运行以下SQL脚本(目的是将表保存出去),但是在没有行返回大小限制的情况下启动查询后,却遇到了与容量相关的SQL处理错误。该错误是常见的错误:“错误:查询执行期间超出了资源。”

SELECT date, 
       Concat(fullvisitorid, String(visitid)) AS unique_visit_id, 
       visitid, 
       visitnumber, 
       fullvisitorid, 
       totals.pageviews, 
       totals.bounces, 
       hits.page.pagepath, 
       hits.page.pagetitle, 
       device.devicecategory, 
       device.browser, 
       device.browserversion, 
       hits.customvariables.index, 
       hits.customvariables.customvarname, 
       hits.customvariables.customvarvalue, 
       hits.time 
FROM   (Flatten([XXXXXXXX.ga_sessions_20140711], hits.time)) 
WHERE  hits.customvariables.index = 4 
ORDER  BY unique_visit_id DESC, 
          hits.time ASC 
Run Code Online (Sandbox Code Playgroud)

为该作业提供的作业ID为:ua-web-analytics:job_60fxNnmo9gZ23kaji50v3qH9dXs。我已经阅读了有关这些错误的主题的其他文章,例如这篇文章重点介绍了在完成连接时观察到的资源错误。我怀疑当前的问题在于使用FLATTEN,并且正在通过一些不同的方法进行工作。就是说,我很担心,因为将来此查询可能一起运行30天或60天(而现在我正在制作原型的那一天只是一天),这将极大地将数据大小增加到500GB以上至1TB。上面查询的目的是生成一个表,我可以将其保存下来然后进行操作。不幸的是,以临时方式进行此操作似乎有些问题。其他人在使用类似的SQL查询时是否遇到资源限制?就上下文而言,要查询的表的大小约为17.2 GB,仅有一百万行。

google-bigquery

2
推荐指数
1
解决办法
3105
查看次数

如何删除字符串的第一个字符并将其余值视为 BigQuery 中的整数

我目前正在处理在 BigQuery 中预先填充的大型数据集。我有一列 orderID,它们具有以下设置:o377412876、o380940924 等。它存储在一个字符串中。我需要执行以下操作并遇到问题:

1) 使用 BigQuery 查询语言去除第一个字符 2) 将剩余的(或处理剩余的值)转换为整数。

然后我将针对这些值运行连接。现在,我会非常高兴使用 Python、R 或其他语言进行此操作。也就是说,根据客户需求给我的挑战是用 BigQuery 的查询语言编写所有脚本。

google-bigquery

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