SlideShare una empresa de Scribd logo
1 de 68
Descargar para leer sin conexión
BigQuery case study
in Groovenauts
Dive into the
DataflowJavaSDK
BigQuery case study
in Groovenauts
Tomoyuki Chikanaga
2015.04.24
#bq_sushi tokyo #1
Groovenauts, Inc.
HQ:Fukuoka
Tokyo branch
Our Business
• MAGELLAN (new)
• Consulting
• Game Server
BigQuery anywhere
• MAGELLAN (new)
• Consulting
• Game Server
BigQuery anywhere
• MAGELLAN (new)
• Consulting
• Game Server
• Container Hosting Service
• Support HTTP/MQTT
• Built on Google Cloud Platform
BigQuery in MAGELLAN
• Resource Monitoring (VM/container etc..)
• Developer s Activity Logs
• Application Logs
• End-user s Access Logs
Schematic View
End-user
Developer
Containers
router
developers console
API request
Deploy
Deploy
Resource Monitoring
End-user
Developer
Containers
router
developers console
API request
Monitoring
System
usage logs
Watch System Usage
Extract user s usage
billing
(not yet implemented)
Developer s Activity Logs
End-user
Developer
Containers
router
developers console
Deploy
Deploy
developer s activity logs
Analyze/Trace
developer s action
Application logs
End-user
Developer
Containers
router
developers console
API request
application logs
View logs
query
End user s access logs
End-user
Developer
Containers
router
developers console
API request
access logs
View logs
query
metrics
BigQuery Quota
• Concurrent rate limit:

up to 20 concurrent queries.
• Daily limit: 20,000 queries / project
BigQuery Quota
End-user
Developer
Containers
router
developers console
View logs
query
may reach quota limit
by developer increase.
BigQuery Quota
End-user
Developer
Containers
router
developers console
View logs
we plan to migrate to
other storages.
??
BigQuery in Business
• CPG(Maker/Distribution/Retail)
• Automotive after-market
BigQuery in Business
• POS Data Analysis
• Excel + BigQuery
• GPS Telemetric Analysis
• company vehicle utilization/travel distance
etc..
POS Data Analysis
• Replace existing system
• RDB → BigQuery
• Excel: SQL Generation,

Visualization(Table, Graph)
Excel: SQL Generation
• Generate SQL using Excel functions
parameters
Templates for SQL
POS Data Analysis
• Result
• Analysis Time
• 12x faster
• Running Cost
• 95% cut
GPS Telemetric Analysis
Vehicle device
Customer
GPS Location Data
GPS Telemetric Analysis
BigQuery Pros. & Cons.
• Pros.
• Running Cost
• Scalability
• Cons.
• Stability
• Query Latency / Quota
Dive into the
DataflowJavaSDK
@nagachika
2015.04.24
#bq_sushi tokyo #1
• @nagachika (twitter/github)
• ruby-trunk-changes (d.hatena.ne.jp/nagachika)
• Ruby committer

2.2 stable branch maintainer
• Fukuoka.rb (Regional Ruby Community)
Who are you?
One Day…
Boss
I ve heard about Google Cloud Dataflow!
It may unify Batch & Streaming Distributed Processing.
Wow, That sounds awesome.
I d like to integrate it with our service.
Eh!? I have to investigate the details...
I ll leave it to you.
Two Missions
• Port SDK to other Language (Ruby
etc..)
• Implement Custom Stream Input (AMQP)
from: https://cloud.google.com/dataflow/what-is-google-cloud-dataflow
Dataflow SDK for Java
Open Source
Open Source
• Apache License Version 2.0
• You can read it
• You can modify it
• You can run it
• locally (PubsubIO is not supported)
• on the Cloud Dataflow service(beta)
http://dataflow-java-sdk-weekly.hatenablog.com/
Read every commit
• catch-up recent hot topics
• related components are modified
concurrently
• know developers and their territory
Disclaimer
• I’m not good at Java.
• I’m a newbie of Distributed
Computing.
Directory Tree
• sdk/src/
• main/java/com/google/cloud/dataflow/sdk (SDK Source Code)
• test/java/com/google/cloud/dataflow/sdk (Test Code for SDK)
• examples/src/
• main/java/com/google/cloud/dataflow/examples (Example Pipeline
Source Code)
• test/java/com/google/cloud/dataflow/examples (Test for Examples)
• contrib/

Community Contributed Library (join-library)
sdk/src/main/java/com/google/cloud/dataflow/sdk/
• coders/
• PCoder classes
• io/
• Input/Output (Source/Sink)
• optsions/
• Command Line Options Utilities
• runners/
• Pipeline runners. driver for run pipeline locally or on the service
• transforms/
• PTransform classes
• values/
• PCollection classes
Pipeline Components
CollectionCollectionPCollection
PTransform
PCollection
PTransformPTransformPTransformPTransform
Source
Sink
Pipeline as a Code
Pipeline p = Pipeline.create(options);
p.apply( TextIO.Read.named(“Read”).from(input) )
.apply( new MyTransform() )
.apply( TextIO.Write.named(“Write").to(output) );
PCollection
PTransform
public <Output extends POutput>

Output
apply(PTransform<? super PCollection<T>, Output> t)
• Pipeline.apply()/PCollection.apply() Signature
PCollection
• Container of data in Dataflow Pipeline
• Bounded (fixed size) or

Unbounded (variable size ≒ streaming)
• Handler for the real data (element)

cf. file descriptor, pipe etc..
PCollection
Bounded PCollection
…
Unbounded PCollection
Elements
Coder
• Data in PCollection = Byte Stream
• Decode/Encode at PTransform’s In/Out
Coder
PTransform PTransform
PCollection
elemPValue PValue
Coder.encode() Coder.decode()
Coder
• Integer
• Double
• String
• List<T>
• Map<K,V>
• KV<K,V> (Key Value pair)
• TableRow (← BigQuery Table’s row)
PTransform
• Each step in pipeline
• Core Transforms
• ParDo/GroupByKey/Combine/Flatten/Join
• Composite Transforms
• Root Transforms (read, write, create)
• Predefined Transforms (SDK Builtin)
PTransform
• Each step in pipeline
• Core Transform
• ParDo/GroupByKey/Combine/Flatten/Join
• Composite Transforms
• Root Transforms (read, write, create)
• Predefined Transforms (SDK Builtin)
User Defined Code
Composite Transform
• Construct a Transform from Transforms
• ex) Sum, Count.Globally<T> etc..
Composite Transform
Count
• Override apply() method
public class Count {
public static class Globally<T>
extends PTransform<PCollection<T>, PCollection<Long>> {
@Override
public PCollection<Long> apply(PCollection<T> input) {
Combine.Globally<Long, Long> sumGlobally;
…
sumGlobally = Sum.longsGlobally().withFanout(fanout);
…
return input.apply(ParDo.named(“Init")
.of(new DoFn<T, Long>() {
@Override
public void processElement(ProcessContext c) {
c.output(1L);
}
}))
.apply(sumGlobally);
}
}
}
PTransfer.apply()
public abstract class PTransform<Input extends PInput,
Output extends POutput> {
public Output apply(Input input) {
}
}
apply()
PCollection.apply()
=>Pipeline.applyTransform()
=>Pipeline.applyInternal()
=>PipelineRunner.apply()
=>PTransform.apply()
apply()
• used in a construction phase
• apply() construct a Pipeline from
Transforms
ParDo & DoFn
• User defined Runtime Code = DoFn
return input.apply(ParDo.named(“Init")
.of(new DoFn<T, Long>() {
@Override
public void processElement(ProcessContext c) {
c.output(1L);
}
}))
.apply(sumGlobally);
User Defined Code
processElement
• DoFn<I,O>.processElement()
• Receive an element of input PCollection
• I ProcessContext.element()
• void ProcessContext.output(O output)
void DoFn<I,O>.processElement(ProcessContext context)
Example of DoFn
static class ExtractWordsFn extends DoFn<String, String> {

public void processElement(ProcessContext c) {

String[] words = c.element().split(“[^a-zA-Z']+");
for (String word : words) {
if (!word.isEmpty()) {
c.output(word);
}
}
}
}
static class FormatCountsFn extends DoFn<KV<String, Long>, String> {
public void processElement(ProcessContext c) {
c.output(c.element().getKey() + ": " + c.element().getValue());
}
}
from WordCount.java
Staging
• How to load user defined code in
Dataflow managed service?
• DoFn<I,O> implements Serializable
• .jar files in $CLASSPATH are
uploaded to GCS `staging` bucket
Two Missions
• Port SDK to other Language (Ruby
etc..)
• Implement Custom Stream Input (AMQP)Dataflow service depend on JVM runtime.

(Python SDK is planned for future release.)
Source/Sink
• TextIO (GCS)
• DatastoreIO
• BigQueryIO
• PubsubIO (for streaming mode)
PubsubIO impl. in SDK
• PubsubIO.Read.Bound<T> extends
PTransform<PInput, PCollection<T>>
• Bound don’t have any runtime impl.
• runners.worker.ReaderFactory translate
these objects into Source/Sink type and
parameters and transport to Dataflow
service workers
Two Missions
• Port SDK to other Language (Ruby
etc..)
• Implement Custom Stream Input (AMQP)
Dataflow custom input development is not supported yet.
(Is there no future plan?)
OK.
But stay tuned for the activities in Dataflow.
I ve found that there s no way to accomplish
these missions right now...
Roger.
Official Documentation
https://cloud.google.com/dataflow/
Official Documentation
https://cloud.google.com/dataflow/
Let’s dive into
the
DataflowJavaSDK
Let’s dive into
the
DataflowJavaSDK
Dataflow Documentation
Windowing
• for Streaming mode
• for Combine/GroupByKey
Windowing
k1: 1
k1: 2
k1: 3
k2: 2
Group
by
Key
k1: [1,2,3]
k2: [2]
Combine
k1: 3
k2: 1
k1: [1,2,3]
k2: [2]
• These transforms require all elements of input.

" In streaming mode inputs are unbounded.
Windowing
• Fixed Time Windows
• Sliding Time Windows
• Session Windows
• Single Global Window
Group elements into windows by timestamp
Trigger
• Streaming data could be arrived with
some delay
• Dataflow should wait for while
after end of window in wall time.
• Time-Based Triggers
• Data-Driven Triggers

Más contenido relacionado

La actualidad más candente

Solutions for bi-directional Integration between Oracle RDMBS & Apache Kafka
Solutions for bi-directional Integration between Oracle RDMBS & Apache KafkaSolutions for bi-directional Integration between Oracle RDMBS & Apache Kafka
Solutions for bi-directional Integration between Oracle RDMBS & Apache Kafka
Guido Schmutz
 
Apache Beam and Google Cloud Dataflow - IDG - final
Apache Beam and Google Cloud Dataflow - IDG - finalApache Beam and Google Cloud Dataflow - IDG - final
Apache Beam and Google Cloud Dataflow - IDG - final
Sub Szabolcs Feczak
 

La actualidad más candente (20)

Solutions for bi-directional Integration between Oracle RDMBS & Apache Kafka
Solutions for bi-directional Integration between Oracle RDMBS & Apache KafkaSolutions for bi-directional Integration between Oracle RDMBS & Apache Kafka
Solutions for bi-directional Integration between Oracle RDMBS & Apache Kafka
 
KSQL: Open Source Streaming for Apache Kafka
KSQL: Open Source Streaming for Apache KafkaKSQL: Open Source Streaming for Apache Kafka
KSQL: Open Source Streaming for Apache Kafka
 
[SmartNews] Globally Scalable Web Document Classification Using Word2Vec
[SmartNews] Globally Scalable Web Document Classification Using Word2Vec[SmartNews] Globally Scalable Web Document Classification Using Word2Vec
[SmartNews] Globally Scalable Web Document Classification Using Word2Vec
 
Data Pipeline at Tapad
Data Pipeline at TapadData Pipeline at Tapad
Data Pipeline at Tapad
 
Google cloud Dataflow & Apache Flink
Google cloud Dataflow & Apache FlinkGoogle cloud Dataflow & Apache Flink
Google cloud Dataflow & Apache Flink
 
From my sql to postgresql using kafka+debezium
From my sql to postgresql using kafka+debeziumFrom my sql to postgresql using kafka+debezium
From my sql to postgresql using kafka+debezium
 
Mind the App: How to Monitor Your Kafka Streams Applications | Bruno Cadonna,...
Mind the App: How to Monitor Your Kafka Streams Applications | Bruno Cadonna,...Mind the App: How to Monitor Your Kafka Streams Applications | Bruno Cadonna,...
Mind the App: How to Monitor Your Kafka Streams Applications | Bruno Cadonna,...
 
Kinesis and Spark Streaming - Advanced AWS Meetup - August 2014
Kinesis and Spark Streaming - Advanced AWS Meetup - August 2014Kinesis and Spark Streaming - Advanced AWS Meetup - August 2014
Kinesis and Spark Streaming - Advanced AWS Meetup - August 2014
 
Putting Kafka Together with the Best of Google Cloud Platform
Putting Kafka Together with the Best of Google Cloud Platform Putting Kafka Together with the Best of Google Cloud Platform
Putting Kafka Together with the Best of Google Cloud Platform
 
Choose Right Stream Storage: Amazon Kinesis Data Streams vs MSK
Choose Right Stream Storage: Amazon Kinesis Data Streams vs MSKChoose Right Stream Storage: Amazon Kinesis Data Streams vs MSK
Choose Right Stream Storage: Amazon Kinesis Data Streams vs MSK
 
10 - MongoDB
10 - MongoDB10 - MongoDB
10 - MongoDB
 
Building streaming data applications using Kafka*[Connect + Core + Streams] b...
Building streaming data applications using Kafka*[Connect + Core + Streams] b...Building streaming data applications using Kafka*[Connect + Core + Streams] b...
Building streaming data applications using Kafka*[Connect + Core + Streams] b...
 
Analytics at Scale with Apache Spark on AWS with Jonathan Fritz
Analytics at Scale with Apache Spark on AWS with Jonathan FritzAnalytics at Scale with Apache Spark on AWS with Jonathan Fritz
Analytics at Scale with Apache Spark on AWS with Jonathan Fritz
 
Gobblin @ NerdWallet (Nov 2015)
Gobblin @ NerdWallet (Nov 2015)Gobblin @ NerdWallet (Nov 2015)
Gobblin @ NerdWallet (Nov 2015)
 
(SDD424) Simplifying Scalable Distributed Applications Using DynamoDB Streams...
(SDD424) Simplifying Scalable Distributed Applications Using DynamoDB Streams...(SDD424) Simplifying Scalable Distributed Applications Using DynamoDB Streams...
(SDD424) Simplifying Scalable Distributed Applications Using DynamoDB Streams...
 
Bravo Six, Going Realtime. Transitioning Activision Data Pipeline to Streamin...
Bravo Six, Going Realtime. Transitioning Activision Data Pipeline to Streamin...Bravo Six, Going Realtime. Transitioning Activision Data Pipeline to Streamin...
Bravo Six, Going Realtime. Transitioning Activision Data Pipeline to Streamin...
 
Deploying Kafka Streams Applications with Docker and Kubernetes
Deploying Kafka Streams Applications with Docker and KubernetesDeploying Kafka Streams Applications with Docker and Kubernetes
Deploying Kafka Streams Applications with Docker and Kubernetes
 
Dynamic DDL: Adding Structure to Streaming Data on the Fly with David Winters...
Dynamic DDL: Adding Structure to Streaming Data on the Fly with David Winters...Dynamic DDL: Adding Structure to Streaming Data on the Fly with David Winters...
Dynamic DDL: Adding Structure to Streaming Data on the Fly with David Winters...
 
Apache Beam and Google Cloud Dataflow - IDG - final
Apache Beam and Google Cloud Dataflow - IDG - finalApache Beam and Google Cloud Dataflow - IDG - final
Apache Beam and Google Cloud Dataflow - IDG - final
 
Svccg nosql 2011_v4
Svccg nosql 2011_v4Svccg nosql 2011_v4
Svccg nosql 2011_v4
 

Destacado

The Test, Gillie, Gettysburg, 4 JUL 2014
The Test, Gillie, Gettysburg, 4 JUL 2014The Test, Gillie, Gettysburg, 4 JUL 2014
The Test, Gillie, Gettysburg, 4 JUL 2014
David R. Gillie
 
ホームセンターにある画像をVision apiで分析してみた話
ホームセンターにある画像をVision apiで分析してみた話ホームセンターにある画像をVision apiで分析してみた話
ホームセンターにある画像をVision apiで分析してみた話
Wasaburo Miyata
 

Destacado (20)

○R連携g
○R連携g○R連携g
○R連携g
 
EmbulkのGCS/BigQuery周りのプラグインについて
EmbulkのGCS/BigQuery周りのプラグインについてEmbulkのGCS/BigQuery周りのプラグインについて
EmbulkのGCS/BigQuery周りのプラグインについて
 
How To Select Best Transmission For Your Vehicle
How To Select Best Transmission For Your VehicleHow To Select Best Transmission For Your Vehicle
How To Select Best Transmission For Your Vehicle
 
The Test, Gillie, Gettysburg, 4 JUL 2014
The Test, Gillie, Gettysburg, 4 JUL 2014The Test, Gillie, Gettysburg, 4 JUL 2014
The Test, Gillie, Gettysburg, 4 JUL 2014
 
Ansvar Community Insurance Proposal
Ansvar Community Insurance ProposalAnsvar Community Insurance Proposal
Ansvar Community Insurance Proposal
 
企画案
企画案企画案
企画案
 
福岡商工会議所講演会(2017年2月17日)
福岡商工会議所講演会(2017年2月17日)福岡商工会議所講演会(2017年2月17日)
福岡商工会議所講演会(2017年2月17日)
 
AIG Corporate Travel PDS
AIG Corporate Travel PDSAIG Corporate Travel PDS
AIG Corporate Travel PDS
 
TreeFrog Frameworkの紹介
TreeFrog Frameworkの紹介TreeFrog Frameworkの紹介
TreeFrog Frameworkの紹介
 
ホームセンターにある画像をVision apiで分析してみた話
ホームセンターにある画像をVision apiで分析してみた話ホームセンターにある画像をVision apiで分析してみた話
ホームセンターにある画像をVision apiで分析してみた話
 
Ruby Kaja のご提案
Ruby Kaja のご提案Ruby Kaja のご提案
Ruby Kaja のご提案
 
Google BigQueryを使ってみた!
Google BigQueryを使ってみた!Google BigQueryを使ってみた!
Google BigQueryを使ってみた!
 
App engine admin apiを利用したgae%2 f go環境へのデプロイとgcp東京リージョンの性能評価
App engine admin apiを利用したgae%2 f go環境へのデプロイとgcp東京リージョンの性能評価App engine admin apiを利用したgae%2 f go環境へのデプロイとgcp東京リージョンの性能評価
App engine admin apiを利用したgae%2 f go環境へのデプロイとgcp東京リージョンの性能評価
 
Gceハンズオン20150411イン福岡
Gceハンズオン20150411イン福岡Gceハンズオン20150411イン福岡
Gceハンズオン20150411イン福岡
 
Distributed Deep Q-Learning
Distributed Deep Q-LearningDistributed Deep Q-Learning
Distributed Deep Q-Learning
 
GCP HTTPロードバランサ運用例
GCP HTTPロードバランサ運用例GCP HTTPロードバランサ運用例
GCP HTTPロードバランサ運用例
 
Firebase によるリアルタイム モバイル開発 @gcpug 福岡
Firebase によるリアルタイム モバイル開発 @gcpug 福岡Firebase によるリアルタイム モバイル開発 @gcpug 福岡
Firebase によるリアルタイム モバイル開発 @gcpug 福岡
 
Inspection of CloudML Hyper Parameter Tuning
Inspection of CloudML Hyper Parameter TuningInspection of CloudML Hyper Parameter Tuning
Inspection of CloudML Hyper Parameter Tuning
 
CloudSQL v2は デキる子なのか?
CloudSQL v2は デキる子なのか?CloudSQL v2は デキる子なのか?
CloudSQL v2は デキる子なのか?
 
自分たちでつくった"UXガイドライン"を片手に、クラウドワークスを作り変える。
自分たちでつくった"UXガイドライン"を片手に、クラウドワークスを作り変える。自分たちでつくった"UXガイドライン"を片手に、クラウドワークスを作り変える。
自分たちでつくった"UXガイドライン"を片手に、クラウドワークスを作り変える。
 

Similar a BigQuery case study in Groovenauts & Dive into the DataflowJavaSDK

Similar a BigQuery case study in Groovenauts & Dive into the DataflowJavaSDK (20)

Python Streaming Pipelines with Beam on Flink
Python Streaming Pipelines with Beam on FlinkPython Streaming Pipelines with Beam on Flink
Python Streaming Pipelines with Beam on Flink
 
Flink Forward Berlin 2018: Thomas Weise & Aljoscha Krettek - "Python Streamin...
Flink Forward Berlin 2018: Thomas Weise & Aljoscha Krettek - "Python Streamin...Flink Forward Berlin 2018: Thomas Weise & Aljoscha Krettek - "Python Streamin...
Flink Forward Berlin 2018: Thomas Weise & Aljoscha Krettek - "Python Streamin...
 
Agile Oracle to PostgreSQL migrations (PGConf.EU 2013)
Agile Oracle to PostgreSQL migrations (PGConf.EU 2013)Agile Oracle to PostgreSQL migrations (PGConf.EU 2013)
Agile Oracle to PostgreSQL migrations (PGConf.EU 2013)
 
Seattle Spark Meetup Mobius CSharp API
Seattle Spark Meetup Mobius CSharp APISeattle Spark Meetup Mobius CSharp API
Seattle Spark Meetup Mobius CSharp API
 
Delivering Developer Tools at Scale
Delivering Developer Tools at ScaleDelivering Developer Tools at Scale
Delivering Developer Tools at Scale
 
Functioning incessantly of Data Science Platform with Kubeflow - Albert Lewan...
Functioning incessantly of Data Science Platform with Kubeflow - Albert Lewan...Functioning incessantly of Data Science Platform with Kubeflow - Albert Lewan...
Functioning incessantly of Data Science Platform with Kubeflow - Albert Lewan...
 
IVS CTO Night And Day 2018 Winter - [re:Cap] Serverless & Mobile
IVS CTO Night And Day 2018 Winter - [re:Cap] Serverless & MobileIVS CTO Night And Day 2018 Winter - [re:Cap] Serverless & Mobile
IVS CTO Night And Day 2018 Winter - [re:Cap] Serverless & Mobile
 
Kubernetes上で動作する機械学習モジュールの配信&管理基盤Rekcurd について
Kubernetes上で動作する機械学習モジュールの配信&管理基盤Rekcurd についてKubernetes上で動作する機械学習モジュールの配信&管理基盤Rekcurd について
Kubernetes上で動作する機械学習モジュールの配信&管理基盤Rekcurd について
 
Road to sbt 1.0 paved with server
Road to sbt 1.0   paved with serverRoad to sbt 1.0   paved with server
Road to sbt 1.0 paved with server
 
Genomic Computation at Scale with Serverless, StackStorm and Docker Swarm
Genomic Computation at Scale with Serverless, StackStorm and Docker SwarmGenomic Computation at Scale with Serverless, StackStorm and Docker Swarm
Genomic Computation at Scale with Serverless, StackStorm and Docker Swarm
 
Docker and Fluentd
Docker and FluentdDocker and Fluentd
Docker and Fluentd
 
Running Airflow Workflows as ETL Processes on Hadoop
Running Airflow Workflows as ETL Processes on HadoopRunning Airflow Workflows as ETL Processes on Hadoop
Running Airflow Workflows as ETL Processes on Hadoop
 
DevOpsDays Taipei 2019 - Mastering IaC the DevOps Way
DevOpsDays Taipei 2019 - Mastering IaC the DevOps WayDevOpsDays Taipei 2019 - Mastering IaC the DevOps Way
DevOpsDays Taipei 2019 - Mastering IaC the DevOps Way
 
Fluentd - RubyKansai 65
Fluentd - RubyKansai 65Fluentd - RubyKansai 65
Fluentd - RubyKansai 65
 
Logging for Production Systems in The Container Era
Logging for Production Systems in The Container EraLogging for Production Systems in The Container Era
Logging for Production Systems in The Container Era
 
Introducing BinarySortedMultiMap - A new Flink state primitive to boost your ...
Introducing BinarySortedMultiMap - A new Flink state primitive to boost your ...Introducing BinarySortedMultiMap - A new Flink state primitive to boost your ...
Introducing BinarySortedMultiMap - A new Flink state primitive to boost your ...
 
CCT (Check and Calculate Transfer)
CCT (Check and Calculate Transfer)CCT (Check and Calculate Transfer)
CCT (Check and Calculate Transfer)
 
Presentation CCT
Presentation CCTPresentation CCT
Presentation CCT
 
CCT Check and Calculate Transfer
CCT Check and Calculate TransferCCT Check and Calculate Transfer
CCT Check and Calculate Transfer
 
Spark (Structured) Streaming vs. Kafka Streams - two stream processing platfo...
Spark (Structured) Streaming vs. Kafka Streams - two stream processing platfo...Spark (Structured) Streaming vs. Kafka Streams - two stream processing platfo...
Spark (Structured) Streaming vs. Kafka Streams - two stream processing platfo...
 

Más de nagachika t

Ruby trunk changes 統計版
Ruby trunk changes 統計版Ruby trunk changes 統計版
Ruby trunk changes 統計版
nagachika t
 

Más de nagachika t (12)

Make Ruby Differentiable
Make Ruby DifferentiableMake Ruby Differentiable
Make Ruby Differentiable
 
All bugfixes are incompatibilities
All bugfixes are incompatibilitiesAll bugfixes are incompatibilities
All bugfixes are incompatibilities
 
Functional Music Composition
Functional Music CompositionFunctional Music Composition
Functional Music Composition
 
Magellan on Google Cloud Platform
Magellan on Google Cloud PlatformMagellan on Google Cloud Platform
Magellan on Google Cloud Platform
 
CRuby Committers Who's Who in 2013
CRuby Committers Who's Who in 2013CRuby Committers Who's Who in 2013
CRuby Committers Who's Who in 2013
 
CRuby_Committers_Whos_Who_in_2014
CRuby_Committers_Whos_Who_in_2014CRuby_Committers_Whos_Who_in_2014
CRuby_Committers_Whos_Who_in_2014
 
怠惰なRubyistへの道 fukuoka rubykaigi01
怠惰なRubyistへの道 fukuoka rubykaigi01怠惰なRubyistへの道 fukuoka rubykaigi01
怠惰なRubyistへの道 fukuoka rubykaigi01
 
Ruby on azure で game server service
Ruby on azure で game server serviceRuby on azure で game server service
Ruby on azure で game server service
 
怠惰なRubyistへの道
怠惰なRubyistへの道怠惰なRubyistへの道
怠惰なRubyistへの道
 
Ruby trunk changes 統計版
Ruby trunk changes 統計版Ruby trunk changes 統計版
Ruby trunk changes 統計版
 
Pd Kai#3 Startup Process
Pd Kai#3 Startup ProcessPd Kai#3 Startup Process
Pd Kai#3 Startup Process
 
Pd Kai#2 Object Model
Pd Kai#2 Object ModelPd Kai#2 Object Model
Pd Kai#2 Object Model
 

Último

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 

Último (20)

Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 

BigQuery case study in Groovenauts & Dive into the DataflowJavaSDK