我写的是一个新的跟进,回应了前一篇文章中提出的问题.
目前,我正在使用一个数据集来过滤掉单元格内记录空白的值.具体来说,我有以下查询:
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并且我正在尝试理解原因.
为了使用Python从AdWords-API提取数据,生成USER_AGENT的最有效方法是什么?该值是我需要能够提取数据的最后一个值.任何帮助将不胜感激.
user_agent: INSERT_USER_AGENT_HERE
Run Code Online (Sandbox Code Playgroud) 我正在开发一个应用程序,它从.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的较小文件)是在删除第一行后使用以下代码导入较小的文件. …
我目前正在尝试在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也返回了一个错误.
我使用 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?我知道人们也问过一些类似的问题。也就是说,我一直在跟进,但我的方法不起作用。
我无法使用Python为AdWords API生成刷新令牌,需要一些帮助.情况如下:
下面是生成我正在努力工作的刷新令牌所需的以下代码片段:
"""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中有一个列表,它是名称是创建日期的目录;
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排序键对其进行排序,还是应该进行简单的排序并编写一个简单的排序函数?
我目前正在尝试在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,仅有一百万行。
我目前正在处理在 BigQuery 中预先填充的大型数据集。我有一列 orderID,它们具有以下设置:o377412876、o380940924 等。它存储在一个字符串中。我需要执行以下操作并遇到问题:
1) 使用 BigQuery 查询语言去除第一个字符 2) 将剩余的(或处理剩余的值)转换为整数。
然后我将针对这些值运行连接。现在,我会非常高兴使用 Python、R 或其他语言进行此操作。也就是说,根据客户需求给我的挑战是用 BigQuery 的查询语言编写所有脚本。