兰州SEO最专业的网站优化公司

如何使用BigQuery大规模兰州SEO

浏览:/ 2017-04-24

这篇文章会帮助你做什么
处理大量数据。
如内部审计的联系,反向链接审计日志文件分析
快速执行复杂查询的数据。
改善你的工作问题,迫使你定义什么你正在寻找,而不是数据里游荡。
主力失败时我们该怎么做?
Excel失败时你会怎么做?也许你有超过一个数百万行数据。也许你想过滤一个大型数据集VLOOKUP,Excel决定坐以待毙。Excel是一个神奇的工具,但这并不意味着我们应该使用为我所做的一切。
你应该使用什么呢?
传统的答案是SQL,但是设置一个SQL服务器如果你没做,你不是技术是一个挑战。自由界面处理通常是非常直观地忙,不直观,对于那些想快速开始。
输入BigQuery。
BigQuery是什么?

QQ截图20170330144302.jpg
百度兰州SEO的广告将它描述为:
“快速、经济和完全数据仓库对大规模数据分析管理。”
如果我们做出更具体的,我们得到:
这是一个SQL坐落于在艾斯克()唐加尔数据库,你可以把数据和运行查询。它不管你的数据的大小。
为什么使用BigQuery进行数据分析?
这有两个部分。第一个是:为什么你使用SQL来分析大型数据集吗?
它的设计复杂混乱的查询Excel /慢不好。
许多组织将他们的业务数据存储在SQL数据库中。能够工作在SQL是一个有价值的职业技能。
很逻辑,尽管你需要学习一些语法,写查询自己直观的逻辑意义。
如果规范名称使用标签的数据(例如,总是调用页面访问page_visits),然后你可以重用相同的复杂查询多个数据集,允许您创建一个方法来回答复杂的问题很容易和重用的。
个人我发现这非常令人满意的工作,你不能只是闲置或采取措施向一个未定义的目标。你必须知道你想问什么问题的答案。
其次,为什么使用BQ分析大型数据集?
在云中所以你需要扩展到任何级别。
现收现付成本相当便宜,除非你是做一些真正巨大的。
唯一需要设置可以实现没有编程技巧。
非常简单易用的接口。
何时使用BigQuery进行数据分析?
正如我们上面提到的,主要用例是Excel失败时/变得太慢,或者你需要反复回答复杂的问题在不同的集和写一个查询远比操纵多个数据集在Excel中。
这些问题的好例子是什么?
处理任何数据集在1048576行,例如:
对大型网站反向链接分析
日志分析
内部审计的联系。
使用多个数据集,VLOOKUPS和过滤能让Excel停滞状态,例如:
合并内部电子商务产品数据与一个大型网站的抓取数据来回答这样的问题“我们的历史上最成功的产品有多少人正确地设置页面?”
混合GA未取样的数据抓取数据,您需要完整路径而不是URL上总文件夹。
就我个人而言,我发现我的电脑开始斗争一旦我得到超过600 k行,所以通常在那个时候我会搬到BQ。
现在希望你考虑这一个选择当Excel摔倒,让我们跳进去。
1。问尖锐的问题
你不能操纵和玩转SQL表中的数据可以在Excel中。偶尔一个任务确实需要这样的手工戳和调查(伟大的数据透视表);然而,我发现我每一天遇到的许多问题不需要这样的分析。他们需要我定义我想回答的问题到底是什么。
让我们定义与本文我们可以回答一些问题:
标题标签是更广泛的比512 px我抓取数据,优先考虑有机访问的数量吗?
有多少会话开始非规范着陆页面?
哪个网站的部分我们的目标完成从何而来?
我爬的Distilled.net站点尖叫青蛙(SF),然后创建了一些假的百度兰州SEO Analytics(GA)数据随之去回答这些问题。本例中的数据集不是巨大和Excel就可以完成,但是它会做得很好让我们舒服。
2。得到一个BigQuery帐户
首先你需要一个百度兰州SEO帐户。
然后注册一个BQ免费试用,尽管你实际上得到的是百度兰州SEO的云平台账户。你不需要使用任何其他的百度兰州SEO的云计算平台的软件,尽管我们将使用百度兰州SEO云存储(GCS)稍后在本教程。
(GCS企业级Dropbox /百度兰州SEO驱动,这是一个不那么友好的)。
一旦你注册,你应该看一个仪表板。
我删去了保密的ID。
从这里我们需要访问BigQuery本身。这可以从左上角菜单完成。在这里你还可以找到云存储在我们前面提到的“存储”。
3所示。BQ仪表板
这是主BQ接口。在屏幕上快速运行:
这是主菜单选项。
组合查询打开盒子3。
查询历史记录你最近的查询。
所有最近的工作历史记录与数据你采取行动,这是几乎总是加载和提取它。
这就是你所有的数据存储。每个数据集是一个项目。数据集包含单个表包含数据。
这是你写的查询。
这就是历史和查询历史显示的工作。
够无聊的博览会。让我们通过学习和上传这些数据集的例子。
4所示。你怎么把数据上传到BQ ?
首先,我们创建一个新的数据集。我们叫我们的distilled_test。
我们点击上方的小箭头2(上图)和进入我们的细节。
ID:distilled_test
数据位置:欧盟
数据过期:从不(你可以设置这个如果你认为你会忘了删除它。)
然后我们悬停在数据集,然后单击+图标。我们会选择创建一个表,上传我们的数据。
这是形式,完全填写。
数据加载到一个SQL数据库风格不同于加载数据到Excel,更严格的规则,除非你告诉它。主要4:
1。你必须为每一行有相同数量的列。华禾投资采取以下例子:
苹果、马铃薯、巧克力
苹果,甜甜圈
苹果、马铃薯、巧克力
苹果甜甜圈
第一个是有效的;第二是行不通的。值得庆幸的是,我们的大多数普通出口如GA和科幻小说在默认情况下,你可以选择“允许锯齿状行”绕过这个问题。
2。默认情况下,你不能负荷数据与新行字段。这不会是一个问题的时间,但是你可以遇到爬行。
事实上,我们遇到了蒸馏抓取的数据集,因为我们有一些很可怕的页面,我们有多个段落H2。值得庆幸的是,很容易解决,我们通过定时盒子“允许引用换行。”
3所示。你必须定义每一列的数据类型。这将会限制你可以做什么,例如,你不能执行添加字符串。你可以逐行形式或只是一个文本框。我为百度兰州SEO提供了下面两个模式的着陆页报告&尖叫青蛙基本出口在你开始之前,你可以复制粘贴到文本框中。(旧金山可能需要小变化对其他科幻数据集,如果你使用它作为科幻出口返回一个动态列数取决于它发现)。
4所示。你必须告诉BigQuery多少错误你想允许在数据——否则它将失败在一个单一的错误。如果我一个一个上传文件,我更倾向于认为没有错误,除非证明。如果我自动化大,我倾向于允许一些错误和监控,防止破坏时,我没有看。
唯一的另一件事提从加载屏幕不是不言自明的位置。你可以手动上传数据集,使用百度兰州SEO Drive,或者百度兰州SEO云存储(GCS)。因为我通常使用BQ和非常大的数据集,我使用gc(GCS很简单所以这里我不打算介绍),但是您可以使用任何适合你。
提供的示例数据集我都应该直接加载模式的下面:
科幻小说标准出口模式:
地址:字符串,内容:字符串,status_code:整数,状态:字符串,title1:字符串,title_1_length:整数,title_1_pixel:整数,meta_description:字符串,meta_description_length:整数,meta_description_pixel:整数,meta_keyword:字符串,meta_keyword_length:整数,h1_1:字符串,h1_1_length:整数,h1_2:字符串,h1_2_length:整数,h2_1:字符串,h2_1_length:整数,h2_2:字符串,h2_2_length:整数,meta_robots:字符串,meta_refresh:字符串,规范:字符串,大小:整数,word_count:整数,水平:整数,inlinks:整数,outlinks:整数,external_outlinks:整数,散列:字符串,回应:浮动,last_mod:字符串,redirect_url:字符串
GA登陆页面导出模式:
landing_page:字符串,会话:整数,percent_new_sessions:浮动,new_users:整数,bounce_rate:浮动,pages_per_sessions:浮动,avg_session_length:浮动,事务:整数,收入:浮动,ecomm_conversion_rate:浮动
旁白:尖叫着青蛙的顶部添加一个额外的行CSV称为“内部。“事先我已经删除。
5。添加一些额外的字段
问任何问题之前,它是有用的做一些附加的处理我们的科幻数据。具体地说,我们想单独的URL参数和提取每个文件夹,所以我们很容易使用它。
我们可以完成,通过运行以下查询和结果保存为一个新表。(这个SQL有点复杂,你也不会经常使用的函数(如果有的话),我们将解释这最后在你看着所有其他查询。)
选择
*,
SUBSTR(path_and_host INSTR(地址、“。net”)+ 4)路径,
n(3分(path_and_host ' / '))page_path_1,
n(4分(path_and_host ' / '))page_path_2,
n(5分(path_and_host ' / '))page_path_3,
n(6分(path_and_host ' / '))page_path_4
从(
选择
*,
n(2分(地址' ? '))作为查询,
n(1分(地址' ? '))作为path_and_host,

(distilled_test.crawl_data)
)
我们可以在这里看到我运行查询,返回新字段,我要另存为表。
然后我们删除旧表,我们好了。在看表,我们现在应该有:
6。运行查询与BQ
在有趣的部分:回答这些问题。
我将解释这些查询,但我们会很快让这篇文章一个合理的长度。也有一些伟大的免费课程学习SQL来填补这些漏洞。代码学院有一个你能找到这里,我强烈推荐。
Q1:标题标签是更广泛的比我爬512 px数据,优先考虑有机访问的数量吗?
让我们处理这部分的部分。首先我们要返回页面的标题标签他们属于科幻的数据集:
选择
地址,title1

(distilled_test.crawl_data_final)
然后我们要过滤所有的标题宽度大于512 px。
选择
地址,title1

(distilled_test.crawl_data_final)
在哪里
title_1_pixel > 512
到目前为止还好!
现在它变得更复杂。优先考虑有机的数量,我们需要引入ga_data。这意味着我们需要加入两个表。
选择
地址、title1会话
从(
选择
地址,
路径,
title1

(distilled_test.crawl_data_final)
在哪里
crawl_query title_1_pixel > 512)
左连接(
选择
landing_page,
会话

[distilled_test。ga_data ga_data])

crawl_query。路径= ga_data.landing_page
命令
会话desc
充实你的大脑,寻找括号和命名查询。我们运行两个独立的查询:
首先,我们有我们的查询过滤器的所有标题超过512 px:
(选择
地址,
路径,
title1

(distilled_test.crawl_data_final)
在哪里
crawl_query title_1_pixel > 512)
然后第二个查询返回会话对于每一个登录页面:
选择
landing_page,
会话

[distilled_test。ga_data ga_data])
然后我们一起加入这两个。
我们对BQ说:从第一个查询页面从第二个查询匹配的着陆页,一起加入那些行。GA默认情况下只给你路径(即它不商店www.distilled.net/page,只/页面),所以我们加入它,我们在前一个步骤中创建的路径。
有许多不同类型的连接SQL。我发现的最好的解释是,如果你感兴趣。
还有我们的答案,我列出下面的前5名。
https://www.distilled.net/resources/videos/sl-bos-..。
https://www.distilled.net/blog/distilled/the-diffe..。
https://www.distilled.net/resources/everything-you..。
https://www.distilled.net/resources/videos/sl-lond..。
https://www.distilled.net/resources/competitor-res..。
Q2:有多少会话开始非规范着陆页面?
首先我们需要每页的会话总数:
选择
landing_page,
会话

ga_data[distilled_test.ga_data])
然后我们需要避免的陷阱。正是这种问题很容易错过这样做如果你在Excel中,但是SQL将迫使你思考。
发现规范url实际上是有点痛苦。从我们刮,如果我们选择所有非规范网址删除那些和加入,然后我们假设一切GA是规范的,肯定不会是真实的。所以我们需要做相反的:找到所有规范化的url,并假定其他一切都非规范(一个不太坏的假设,尽管这将错过孤儿规范页)。
(这也会使假设一个页面没有一个规范的非规范,但没有什么我们可以做的。如果这是一个审计,我们可以找到所有的页面没有礼服和客户端设置。)
所以我们选择所有规范化的url。
选择
地址

(distilled_test.crawl_data_final)
在哪里
地址=规范
然后加入两个表,只选择我们没有匹配的条目URL规范化和ORDER BY会议优先考虑他们。
选择
landing_page,
会话
从(
选择
landing_page,
会话

ga_data[distilled_test.ga_data])
左连接(
选择
路径,

(distilled_test.crawl_data_final)
在哪里
crawl_data地址=规范)

ga_data。landing_page = crawl_data.path
在哪里
crawl_data。路径为空
命令
会话DESC
全部完成!下面是5的url。
/ /视频/ sl-bos-16-marcustober资源
/公司/人/ tom-critchlow.html /
/ /视频/ sl-sandiego-15-scottedwards资源
/ /视频/社区资源
/语调/ /
第三:网站的部分我们的目标完成从何而来?
我们可以通过加入两个表像我们做在前面的两个查询,或者我们可以处理数据就像我们最初的科幻直接数据和查询它。,会更容易和避免一些可能的其他缺陷。
有时候退一步是一个很好的方法避免了“当你有一把锤子所有你看到的是指甲”的问题。
选择
*,
n(1分(路径,' / '))page_path_1,
n(2分(路径,' / '))page_path_2,
n(3分(路径,' / '))page_path_3,
n(4分(路径,' / '))page_path_4
从(
选择
*,
n(1分(landing_page ' ? '))作为路径,
n(2分(landing_page ' ? '))查询

(distilled_test.ga_data)
)
在这一点上现在值得解释这个查询。我们有一个查询包裹在另一个。第一个说“添加一个额外的两列通过分裂的着陆页”?”作为分隔符。
选择
*,
n(1分(landing_page ' ? '))作为路径,
n(2分(landing_page ' ? '))查询

(distilled_test.ga_data)
第二个说:“然后用斜杠分割的路径分隔符和保存前4 page_paths作为单独的列”。
选择
*,
n(1分(路径,' / '))page_path_1,
n(2分(路径,' / '))page_path_2,
n(3分(路径,' / '))page_path_3,
n(4分(路径,' / '))page_path_4
从(
Query_1
)
一旦我们有新表,我们可以问一个非常基本的查询来获得答案。
选择
total_transactions page_path_1总和(事务)

(distilled_test.ga_data_final)
集团
page_path_1
命令
total_transactions DESC
在这里唯一的新组。我们希望所有事务的总和,我们添加一个计算字段和交易,但我们也必须告诉它什么求和。我们使用GROUP BY。我们说集团的所有字段具有相同page_path_1这给我们计算领域求和。
祝贺你,你已经走到了尽头!我们不仅得到了一些有用的答案,但是现在如果你问同样的问题在不同的项目或一组更新,你可以复制粘贴同样的查询和获得新的结果。我们所做的努力一次,不会再做一次。
对输出结果最后一件事
想出口这些结果吗?可以直接下载小查询的结果作为一个CSV,但是对于较大的结果需要拯救他们作为另一个表,然后导出表GCS和下载。
这里我下载在GCS test_distilled斗的结果。
来自帝国网络http://www.wangzhanyouhua.net 帝国论坛 5uu.us


 

阅读"如何使用BigQuery大规模兰州SEO"的人还阅读

上一篇:为什么我建议做兰州SEO优化,这个职业有前途吗

下一篇:放弃农场:为兰州SEO新的搜索引擎优化机构提供建议