字幕组成品列表(Beta)
  • 写在前面
  • Android 平台
    • Game On! 游戏开发系列 - 031
      • Pie Noon - 1503060393
      • The Death of Base Game Activity - 1504030543
      • Surviving OpenGL Context Loss - 1504030546
      • WebP for Game Devs - 1504030547
      • Saved Games In-Depth (Part 1) - 1504070556
      • Saved Games In-Depth (Part 2) - 1504030548
      • Smaller Flipbook Textures with CRABBY - 1504030544
      • Google Tag Manager - 1504030545
      • Flatbuffers - 1505050794
      • Achievement Point Pointers - 1505050796
      • Frequency Scaling - 1505050797
      • Meet the Management APIs - 1501140367
      • Y U Ship Broken Games - 1505050795
    • Android 性能优化 - 088
      • Garbage Collection in Android - 1503170425
      • Performance Cost of Memory Leaks - 1503170424
      • Rendering Performance 101 - 1501130351
      • Understanding Overdraw - 1501130352
      • Understanding VSYNC - 1501130353
      • Tool - Profile GPU Rendering - 1501130354
      • Why 60fps? - 1501130355
      • Android UI and the GPU - 1501130356
      • Invalidations, Layouts, and Performance - 1501130357
      • Overdraw, Cliprect, QuickReject - 1501130358
      • Tool - Memory Monitor - 1501130363
      • Battery Performance 101 - 1501130364
      • Understanding Battery Drain on Android - 1501130365
      • Battery Drain and WakeLocks - 1501130366
      • Memory Performance 101 - 1504170661
    • I/O 2014 Android 开发专题 - 089
      • Activity Transitions - 1504020505
      • Building Apps For Android TV - 1504020520
      • Building great Android media experiences - 1504020510
      • Building a quality app from start to finish - 1504020515
      • App Indexing API - 1504020507
      • What's new in WebView - 1504010484
      • Bluetooth Low Energy - 1504010486
      • Building impressive Android media experiences - 1504010493
      • The next Generation of Authentication - 1504020497
      • Don't Alpha That Pixel! - 1504020523
      • NFC + HCE Your phone in an interactive world - 1504020509
      • Demystifying encodes and decodes of WebM - 1504020521
      • Google Cloud Messaging - 1504020524
      • Getting your Game on the Big Screen - 1504020518
      • I hear you like realtime memes - 1504020511
      • Offerize your App - 1504020506
      • Using the Android Job Scheduler - 1504020504
      • From Holo to Material - 1504020526
      • Under the Hood of Android Auto - 1504020501
      • Isolation for Android App Developers - 1504020498
      • Android Work - 1504010496
      • ExoPlayer: Adaptive video streaming on Android - 1504010489
      • Sample rates and resampling: Why can't we all just agree? - 1504010488
      • Drive Android API - 1504010485
    • Android Studio - 004
      • Layout Editor (Ep 3, Android Studio) - 1503290479
      • Introducing Gradle (Ep 2, Android Studio) - 1503170426
    • I/O 2014 Android 分发主题 - 091
      • Introduction to Google Play - 1504030534
      • Google Play: building your user community - 1504030535
      • Optimizing Apps for Education - 1504030536
      • Succeeding in Education Technology - 1504030530
      • Subscriptions Made Easy with Google Play - 1504030531
      • The world is your playground - go global with Google - 1504030533
      • Maximizing discoverability on Google Play - 1504030538
    • Android Auto - 003
      • Introduction to Android Auto - 1504130615
      • Android Auto Messaging - 1504130617
      • Android Auto Audio - 1504130616
    • Android Wear - 006
      • Designing for Android Wear - 1503210448
      • How We Customized Google Apps for Android Wear - 1503210450
      • Fullscreen apps for Android Wear - 1503210445
      • New Notification Features for Android Wear - 1503210446
      • Building Cloud-powered wearable Apps - 1503210449
      • An Introduction to Android Wear - 1503190435
      • Google I/O 2014 - Android Wear: The developer's perspective - 1503210442
      • Devoxx 2014 Interviews: Android Wear - 1503210440
      • DevBytes: Watch Faces for Android Wear - 1503210439
    • Android TV - 005
      • Using the Leanback library - 1504080588
      • Beach Buggy Racing Multiplayer with Nearby Connections (Play Services) - 1503060387
    • Android for Work - 106
      • Android for Work for Developers - 1503060390
      • App Configurations, Testing and Launchers - 1504110590
    • IO Bytes 2014 - Android - 066
      • Chrome Apps on Android and iOS - 1501080014
      • Perf Primer CPU, GPU and your Android game - 1501080017
  • Chrome 平台
    • IO Bytes 2014 - Chrome and Web - 067
      • Using the PageSpeed API - 1505070815
      • Fabulous Forms for the multi-device web - 1505070816
      • Testing multi-screen web pages - 1505070817
      • Responsive images today - 1505070819
      • Web Performance Testing at YouTube - 1505070828
      • Building sites for the multi-device web - 1505070820
      • Deep dive: Google Cloud Messaging for Chrome - 1505070827
  • Google 创业者资源
    • Coffee with a Googler - 012
      • Chat with Allen Huang of AndroidTV - 1503040384
      • Chat with Fred Chung about developer advocacy - 1503070395
      • Google Fit platform with Michelle Haq - 1503210443
      • Android Auto Product Manager Andrew Brenner - 1501120027
      • Chat with Francis Ma about Google Play services - 1501120028
    • Root Access For Startups - 077
      • What we learned building plug-ins for Android, with startup Magnet - 1503230453
      • How to use crowdfunding to your advantage, with startup Hale Devices - 1503280462
      • How to overcome customer objections when selling tech, with startup Guesswork - 1503280458
    • First Things First - 029
      • Getting started with Android: A crash-course in developing for Android - 1504120601
      • How to ask a question: conducting research for your startup - 1504120603
      • MVP Design Hacks: transform your hot idea into a validated prototype - 1504120602
      • Build something people want: Solving real problems - 1504120605
    • How I - 061
      • Use BigQuery to find my most valuable customers - 1504070573
      • Manage beta testing communities using Google Play - 1504070572
      • Use paper wireframing to build native prototypes - 1504070570
      • Used social media and $0 marketing to get 68 million users - 1504070568
      • Prep to fundraise with four questions - 1504070564
      • Validated my idea in 2 days (with no code) - 1504070562
      • Build open platforms on Android - 1504120596
      • Get cheap, automatic analytics for my business using BigQuery - 1504070571
      • Write press releases to get international media coverage - 1504070569
      • Test beta-product features using Google Apps - 1504070563
      • Use URL builder to measure ROI on social media - 1504070561
      • Use events to build DeadSocial's brand - 1504070557
      • Use BigQuery to visualize streaming data - 1503220452
      • Find, screen, and hire developers - 1503120406
      • Drive engagement with social challenges - 1504070558
  • 设计
    • DesignBytes - 017
      • Paper and Ink: The Materials that Matter - 1505050793
  • 云计算
    • DevBytes: Google Cloud Platform - 021
      • Powering the next killer app with the Google Cloud Platform - 1504210672
      • Introduction to Google Cloud Endpoints - 1504210675
      • The Beauty of Scale with Google Cloud Platform - 1504210678
    • Google Cloud Platform - Big Data - 105
      • GDELT & BigQuery: Understand the world - 1502200379
    • Uncategorized - 999
      • Introducing Google Cloud Platform Resources - 1501190370
  • Google 应用开发
    • Launchpad Online - 072
      • The Setup: Creating new apps using Google APIs - 1503190428
      • Listing your files in Google Drive - 1503190429
      • Customizing Google Analytics for your startup - 1503290473
      • The Launchpad Online series - 1503190427
      • Getting started with Google Analytics - 1503290472
      • Accessing Google Maps from a spreadsheet?!? - 1502220381
      • Change the world in 10 lines of code - 1503080398
    • Google Play Services - 054
      • Google Play services 6.1 - 1503290481
      • Google Play Services 7.0 - 1503200437
      • Google Play Services 6.5 - 1501080015
    • 谷歌地图 iOS SDK - 053
      • Maps Live: New Features in the Google Maps Mobile APIs for Android and iOS - 1504300777
    • Google 移动搜索开发 - 055
      • Is your app in the Google index? - 1504120598
      • Get more engaged users with Google Search for Developers - 1503070397
    • DevBytes: Google Cast - 020
      • Google Cast SDK for Android - 1504180666
      • Media Router Framework - Part 1 - Media Router API - 1504180667
      • Overview for Google Cast Receivers - 1504180664
      • Google Cast SDK for iOS - 1504180663
    • Getting Started with the Google Maps SDK for iOS - 035
      • Getting started with the Google Maps SDK for iOS, Part 1 - 1504270757
    • IO Bytes 2014 - Wearables - 070
      • Voice Driven GDK Glassware - 1505280836
    • Route 85 - 078
      • Introducing Route 85 - 1501120022
      • Quick Tip: Don't Default that Switch! - 1501190371
      • OpenInChrome on iOS, Part 1 - 1501120023
      • OpenInChrome on iOS, Part 2 - 1501120024
      • OpenInChrome on iOS, Part 3 - 1501120025
      • OpenInChrome on iOS, Part 4 - 1501120026
    • DevBytes 2014 - 019
      • Web Components - Template - 1505040789
      • Wearable DataLayer API - 1505050792
      • Using srcset for responsive images - 1505050790
      • The picture element for art direction - 1505050791
    • Uncategorized - 999
      • Sun Surveyor brings augmented reality to photographers using Google Maps APIs - 1504200668
      • Snappy travels with the Roads API - 1503060392
      • Easy Maps Apps in Java and Python - 1501140030
  • Google 广告平台
  • Polymer
    • Polycasts - 076
      • The Awesome Power of Auto-Binding Templates -- Polycasts #08 - 1502220382
      • Content Switcheroo with Core-Pages -- Polycasts #09 - 1502200380
      • Core Iconset -- Polycasts #02 - 1505040788
  • Web 平台
    • HTTP 203 - 062
      • Gotchas - 1501140368
      • Font Rendering - 1501080016
    • Web Components - 081
      • DevBytes: Web Components - Overview - 1504250709
  • 宣传视频
    • Uncategorized - 999
      • Google Developers - 1501150369
      • I/O Extended 2014 - Join me - 1502220383
  • Google 各类开发者会议
    • 2014 Chrome 开发者高峰会议 - 009
      • Keynote - Chrome Dev Summit 2014 (Darin Fisher) - 1503120407
      • TLS All the Things! - Security with Performance(Chris Palmer) - 1503140412
      • Let’s build some apps with Polymer!(Rob Dodson) - 1503150415
      • Day One Closing Remarks(Sundar Pichai) - 1503150417
      • Chrome Leadership panel - 1503160422
      • Fundamentals of Mobile Web Development(Matt Gaunt) - 1503150416
    • 2015 游戏开发者大会中 - 039
      • FlatBuffers - 1504150640
      • Games for Google Cast - 1504150637
      • Top 10 Things Android Game Developers Should Know v 3.0 - 1504150643
      • Automate Publishing for Google Play APIs - 1504150639
      • 3 Game Design Mistakes You're Making - 1504150636
      • Android TV - 1504150638
      • How to Go Viral Without Really Trying - 1504150641
    • Devoxx 2014 Interviews - 024
      • What's new in Android 5.0 Lollipop - 1504260740
      • Android Tools - 1504260743
      • BigQuery and user-defined functions - 1504260744
    • IO Bytes 2014 - 065
      • Dart in Google Cloud - 1505070810
      • Big genomic data on Google Cloud Platform - 1505070811
      • Easy International Checkout with Chrome - 1505070802
      • Google developer tools and APIs for iOS - 1503190436
      • Whet your appetite with IO Bytes - 1501080021
    • PlayTime@Shanghai - 095
      • 主题演讲 Chris Yerga - 1504060549
      • 如何成功地开发你的应用 Ellie Powers - 1504060550
      • 在Google上营利 Brahim Elbouchikhi - 1504060551
      • Playtime Shanghai event sizzle reel - 1504070552
    • Project Google I/O 2015 - 098
      • Project Tango Mobile 3D tracking and perception - 1506120857
      • Democratizing Education - 1506120868
      • Improve your Android app’s accessibility - 1506120864
      • Google Cloud Messaging 3.0 - 1506120844
      • Developers connecting the world through Google Play - 1506120862
  • 开源开放技术
    • Compressor Head - 013
      • The Trailer, Season 2 - 1503060385
      • Behind the Scenes - 1503210441
      • Arithmetic Compression (Ep 5, Compressor Head) Google - 1503070394
      • Introducing Compressor Head - 1502120372
      • Episode 1 (Variable Length Codes) - 1502120373
      • Episode 2 (The LZ77 Compression Family) - 1502120374
      • Episode 3 (Markov Chain Compression) - 1502120375
Powered by GitBook
On this page
  • 译者信息
  • 解说词中文版:

Was this helpful?

  1. Google 创业者资源
  2. How I - 061

Get cheap, automatic analytics for my business using BigQuery - 1504070571

PreviousBuild open platforms on Android - 1504120596NextWrite press releases to get international media coverage - 1504070569

Last updated 5 years ago

Was this helpful?

视频发布时间

2014年11月5日

视频介绍

Teowaki.com founder Javier Ramirez demos using BigQuery to generate automatic analytics for his business.

视频推介语

暂无,待补充。

译者信息

翻译

润稿

终审

原始链接

中文字幕

翻译流水号

加入字幕组

lch

黄莘

--

1504070571

解说词中文版:

嗨 大家好 我是Javier Ramirez

我是Teowaki的创始人之一

Teowaki是为软件开发者设计的一个工具集

你可以用它来提供兴趣链接 最佳实践

文档 错误 或者与其他开发者一起灌水

那么今天我将向你来讲述我们是怎么使用

Google BigQuery的 并且你也可以使用它

来统计任何对你的业务有帮助的信息

在我们的例子中 统计信息允许我们

来知晓用户是如何有效地使用工具

而不必一直担心

升级以及维护我们自己的服务器

或者是我们存储了多少数据

这样在业务增长的时候也能进行更有效的投资

那么当你进入控制台之后 你会看到

一个非常熟悉的界面 如果你知道SQL的话

因为我们本身就是开发者 对于我们来说 SQL确实很简单

例如 这里我们获取日期

首先是年 接着是月

接着开始计算有多少用户

从工具中被删除

所以SQL对我们来说很便捷

这个查询很基础

但是我听说 例如 在可汗学院

一些商人也在学习SQL

来管理他们自己的报表

所以他们也不必依赖开发者团队

这听起来很有趣 尤其是

如果你需要处理很多报表

你肯定不会想一直依赖其他人

所以呀 当你运行查询的时候

你可以看到结果很简单

这里有一个对我们来说很重要的指标

就是有多少用户放弃了这个工具

但是我们可以做一些更有趣的事情

例如 以前我告诉你 在Teowaki 我们

想知道用户们是如何与其他人互动的

在这个特定的查询中

我们将会看到对每个不同的月份

以及每个不同的团队 他们提交了多少项目

然后他们又把项目向团队成员分享了多少

这对其他工具来说显得很困难

但在这里 只要一句查询就好了

正如你所见 我们已经有团队从11月份开始

在整个冬季期间 提交了

大概是 超过100个项目

这非常有意思 因为

你可以看出来到底哪支团队对你来说更有价值

而哪个团队更没有价值

接着 当然 你可以看见新人

正在不断加入平台

他们从根本没有内容开始

但是在下一个月 数量开始增长

所以对我们来说 这确实帮助了我们分析

人们是怎么使用Teowaki的

但是除了整合你的团队如何使用工具的信息之外

你又能用它做什么呢

那么另一个输入指标就是

哪个用户的个性最为有价值

谁使用工具最多

使用这样一个简单的查询 我就能得到

使用系统最多的用户的内部ID

在这个例子中恰巧是我

当然因为我是创始人之一 并且

我在这个工具公开之前就已经使用过了

但是 这是给了我一个数字

并不是十分有用

但是如果我用某种方法

能看到用户的个人导航

用户如何使用工具以及我们的应用那该是多好

所以在这里的另一个查询中 我得到的

就是该用户的来自数据库的日期以及URL

这里是26个唯一标示符 在本例中就是我

这里的问题是在结果中

我可以看到URL列表在所有时间都是相同的

这是因为在我们的系统中

我们有一个通知组件 这个组件每隔几秒就会请求

来自服务器的新的内容

所以如果我们想要获取信息 这确实没有什么用

在这个新版本的查询中

我看看 好的 它给了我们所有结果

除了关于提醒的计数

在这里你就能看到所有的信息

我可以看到我最近使用的组件

也就是某个界面 一个特别团队的目录

还有一些最佳实践

这非常的酷 因为可以看到用户

是否是用这一种或者那一种方式使用工具的

例如 我们看到了工具的某些组件

被使用得不是很多 那么我们就可以

重新设计他们或者甚至不再在它们身上投入精力

因为我们在不同的组件上投入精力

但是用户压根就不用

我们就是在浪费时间和金钱

这就是你可以做到的又一个实例

根据你的业务 你会有不同的对你来说

十分重要的指标

但是一旦你分配了查询

你不肯定不想总是来这儿

然后写查询语句 运行查询

因为这是浪费时间 也不是做这件事的最佳途径

所以我将向你展示的下一个东西

就是你可以使用BigQuery自动化这个接口

所以你就能阶段性地收到你的报告

为了与BigQuery工作 你可以使用不同的东西

如果你是开发者 可能你会想使用API

但是你可以使用一个叫Google Apps Script的东西

这是JavaScript的一个简化版本

如果你了解JavaScript 那么你就已经会使用Apps Script了

你可以可视化地与Google提供的API进行交互

比如说Google Analytics或者Google BigQuery

在这个例子里面还有Gmail和Google Docs

我们来看看我都做了什么

我在我的Google Docs上创建了一个新的文件夹

在这个新文件夹中

我用今天的日期作为名称创建了一个新的电子表格

我调用一个函数来从我的新用户那里获取数据

然后填充到里面

接着我再在电子表格里面创建一个新的Sheet

我在里面添加被删除的用户

插入一个Sheet给特别用户

填充数据 接着只要发一封邮件

之后我执行脚本 我就在我的Gmail

收件箱里面直接得到了一封邮件

内容就是本月有多少新用户

有多少用户被从工具中删除

还产生了多少特殊用户的一个汇总

在这个链接到电子表格的链接中 你可以直接看到所有结果

就像我们每天都要关注的

三个指标的汇报一样

这就是一个电子表格 所以你就能绘制你想要的图像

以及所有你想要的 这取决于你

我们再看一下我

如何把数据导入电子表格的细节

最简单的就是发邮件

如果你到Mail下面

你会发现发邮件就像添加收件人一样简单

复制所想的任何人

添加主题以及HTML格式的邮件正文

就是这样

在这个函数之前 我得到的是

指向电子表格的链接的参考

就是你之后在电子邮件中看到的那样

我可以给你看看

所以 我们直接插入了链接

而脚本中最难的部分就是

为电子表格创建数据

但那也很简单

第一部分有三个指标

我这里有三个函数

一个是获取每个月的新用户数

和之前我在控制台里面给你展示的差不多

另一个就是每个月删除的用户数

接着是特别用户

一旦你有了这个 你唯一所需要的

就是执行查询 这就只剩

调用BigQuery然后获得

参考用的任务ID的事情了

然后我们只要等着

BigQuery给我们返回结果就好了

所以我们每半秒检查一次直到得到结果

一旦我们得到结果 我们就直接

在电子表格不同的单元格里面填充

用一个非常简单的JavaScript就可以做到

这就是了

一旦你有了这个 你就已经准备好把你的数据

填充数据到你的电子表格了

至于展现出来的结果 就像我刚才展示的那样

我们要做的最后一件事就是

你肯定不会像手动执行脚本

你想按计划执行

这样每隔一段时间你就能在邮箱里收到报告

如果你来到Apps Script的触发器部分

你可以看到在我们的例子中有一个日期时间选择器

所以每个早上的9:00到10:00之间

我们就会在邮箱中收到邮件

如果你有其他的需求

你可以 例如说设置每小时执行

或者每分钟执行

作为一个例子 在今年的Google I/O大会上 我见到了一个人

他使用App Script BigQuery以及Google Docs

构建了一个实时的控制台

每隔30秒就刷新一次查询结果

你在这可以看到实时的图形变化

所以取决于你想要做什么 你可以设置不同的选项

对我们来说最关键的一点在于这设置起来十分简单

好了 这就是我们是怎么使用BigQuery的故事

你可能也感兴趣为什么我们没有用

类似Google Analytics之类的东西 那是因为我们的

数据来源是多样化的 而不是仅限于网站

还有来自于我们的API的

在Google Analytics中从其他地方获取数据实在需要一定的机巧

另一件我们感兴趣的

不仅仅是我们的用户

点了那些链接或者什么东西

我们想要追踪用户是如何

与其他的团队协作的 用户与其他人分享了什么

所以我们需要一个更强有力的解决方案

而又要限制一定的预算

对我们来说 BigQuery很好用

因为我们那时候有大概10万行的数据

我们要生成你刚才看到的那种每日报告

我们是很划算的大概每个月1美元

Youtube
Youtube
加入 GDG 字幕组
video_screenshot