本文整理汇总了Java中com.google.api.services.bigquery.model.TableReference.setDatasetId方法的典型用法代码示例。如果您正苦于以下问题:Java TableReference.setDatasetId方法的具体用法?Java TableReference.setDatasetId怎么用?Java TableReference.setDatasetId使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类com.google.api.services.bigquery.model.TableReference
的用法示例。
在下文中一共展示了TableReference.setDatasetId方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: apply
import com.google.api.services.bigquery.model.TableReference; //导入方法依赖的package包/类
/**
* input - a tupel that contains the data element (TableRow), the window, the timestamp, and the pane
*/
@Override
public TableDestination apply(ValueInSingleWindow<TableRow> input) {
String partition;
if (this.isTimeField) {
String sTime = (String) input.getValue().get(this.fieldName);
Instant time = Instant.parse(sTime);
partition = time.toString(partitionFormatter);
} else {
partition = ((Integer) input.getValue().get(this.fieldName)).toString();
}
TableReference reference = new TableReference();
reference.setProjectId(this.projectId);
reference.setDatasetId(this.datasetId);
reference.setTableId(this.partitionPrefix + partition);
return new TableDestination(reference, null);
}
示例2: main
import com.google.api.services.bigquery.model.TableReference; //导入方法依赖的package包/类
/**
* Run a batch pipeline.
*/
public static void main(String[] args) throws Exception {
Options options = PipelineOptionsFactory.fromArgs(args).withValidation().as(Options.class);
Pipeline pipeline = Pipeline.create(options);
TableReference tableRef = new TableReference();
tableRef.setDatasetId(options.as(Options.class).getOutputDataset());
tableRef.setProjectId(options.as(GcpOptions.class).getProject());
tableRef.setTableId(options.getOutputTableName());
// Read events from a CSV file and parse them.
pipeline
.apply(TextIO.Read.from(options.getInput()))
.apply(ParDo.named("ParseGameEvent").of(new ParseEventFn()))
// Extract and sum username/score pairs from the event data.
.apply("ExtractUserScore", new ExtractAndSumScore("user"))
// Write the results to BigQuery.
.apply(ParDo.named("FormatUserScoreSums").of(new FormatUserScoreSumsFn()))
.apply(
BigQueryIO.Write.to(tableRef)
.withSchema(FormatUserScoreSumsFn.getSchema())
.withCreateDisposition(CreateDisposition.CREATE_IF_NEEDED)
.withWriteDisposition(WriteDisposition.WRITE_APPEND));
pipeline.run();
}
示例3: main
import com.google.api.services.bigquery.model.TableReference; //导入方法依赖的package包/类
/** Run a batch or streaming pipeline. */
public static void main(String[] args) throws Exception {
Options options = PipelineOptionsFactory.fromArgs(args).withValidation().as(Options.class);
Pipeline pipeline = Pipeline.create(options);
TableReference tableRef = new TableReference();
tableRef.setDatasetId(options.as(Options.class).getOutputDataset());
tableRef.setProjectId(options.as(GcpOptions.class).getProject());
tableRef.setTableId(options.getOutputTableName());
// Read events from either a CSV file or PubSub stream.
pipeline
.apply(new ReadGameEvents(options))
.apply("WindowedTeamScore", new Exercise2.WindowedTeamScore(Duration.standardMinutes(60)))
// Write the results to BigQuery.
.apply(ParDo.named("FormatTeamScoreSums").of(new Exercise2.FormatTeamScoreSumsFn()))
.apply(
BigQueryIO.Write.to(tableRef)
.withSchema(Exercise2.FormatTeamScoreSumsFn.getSchema())
.withCreateDisposition(CreateDisposition.CREATE_IF_NEEDED)
.withWriteDisposition(WriteDisposition.WRITE_APPEND));
pipeline.run();
}
示例4: main
import com.google.api.services.bigquery.model.TableReference; //导入方法依赖的package包/类
/**
* Run a batch pipeline.
*/
public static void main(String[] args) throws Exception {
Options options = PipelineOptionsFactory.fromArgs(args).withValidation().as(Options.class);
Pipeline pipeline = Pipeline.create(options);
TableReference tableRef = new TableReference();
tableRef.setDatasetId(options.as(Options.class).getOutputDataset());
tableRef.setProjectId(options.as(GcpOptions.class).getProject());
tableRef.setTableId(options.getOutputTableName());
// Read events from a CSV file, parse them and write (import) them to BigQuery.
pipeline
.apply(TextIO.Read.from(options.getInput()))
.apply(ParDo.named("ParseGameEvent").of(new ParseEventFn()))
.apply(ParDo.named("FormatGameEvent").of(new FormatGameEventFn()))
.apply(
BigQueryIO.Write.to(tableRef)
.withSchema(FormatGameEventFn.getSchema())
.withCreateDisposition(CreateDisposition.CREATE_IF_NEEDED)
.withWriteDisposition(WriteDisposition.WRITE_APPEND));
pipeline.run();
}
示例5: testCreateNeverWithStreaming
import com.google.api.services.bigquery.model.TableReference; //导入方法依赖的package包/类
@Test
public void testCreateNeverWithStreaming() throws Exception {
p.enableAbandonedNodeEnforcement(false);
TableReference tableRef = new TableReference();
tableRef.setDatasetId("dataset");
tableRef.setTableId("sometable");
PCollection<TableRow> tableRows =
p.apply(GenerateSequence.from(0))
.apply(
MapElements.via(
new SimpleFunction<Long, TableRow>() {
@Override
public TableRow apply(Long input) {
return null;
}
}))
.setCoder(TableRowJsonCoder.of());
tableRows
.apply(BigQueryIO.writeTableRows().to(tableRef)
.withCreateDisposition(BigQueryIO.Write.CreateDisposition.CREATE_NEVER)
.withoutValidation());
}
示例6: main
import com.google.api.services.bigquery.model.TableReference; //导入方法依赖的package包/类
/** Run a batch pipeline. */
public static void main(String[] args) throws Exception {
Options options = PipelineOptionsFactory.fromArgs(args).withValidation().as(Options.class);
Pipeline pipeline = Pipeline.create(options);
TableReference tableRef = new TableReference();
tableRef.setDatasetId(options.as(Options.class).getOutputDataset());
tableRef.setProjectId(options.as(GcpOptions.class).getProject());
tableRef.setTableId(options.getOutputTableName());
// Read events from a CSV file and parse them.
pipeline
.apply(TextIO.Read.from(options.getInput()))
.apply(ParDo.named("ParseGameEvent").of(new ParseEventFn()))
.apply(
"AddEventTimestamps", WithTimestamps.of((GameEvent i) -> new Instant(i.getTimestamp())))
.apply("WindowedTeamScore", new WindowedTeamScore(Duration.standardMinutes(60)))
// Write the results to BigQuery.
.apply(ParDo.named("FormatTeamScoreSums").of(new FormatTeamScoreSumsFn()))
.apply(
BigQueryIO.Write.to(tableRef)
.withSchema(FormatTeamScoreSumsFn.getSchema())
.withCreateDisposition(CreateDisposition.CREATE_IF_NEEDED)
.withWriteDisposition(WriteDisposition.WRITE_APPEND));
pipeline.run();
}
示例7: getTableReference
import com.google.api.services.bigquery.model.TableReference; //导入方法依赖的package包/类
/**
* Concept #6: We'll stream the results to a BigQuery table. The BigQuery output source is one
* that supports both bounded and unbounded data. This is a helper method that creates a
* TableReference from input options, to tell the pipeline where to write its BigQuery results.
*/
private static TableReference getTableReference(Options options) {
TableReference tableRef = new TableReference();
tableRef.setProjectId(options.getProject());
tableRef.setDatasetId(options.getBigQueryDataset());
tableRef.setTableId(options.getBigQueryTable());
return tableRef;
}
示例8: getTable
import com.google.api.services.bigquery.model.TableReference; //导入方法依赖的package包/类
/** Utility to construct an output table reference. */
static TableReference getTable(String projectId, String datasetId, String tableName) {
TableReference table = new TableReference();
table.setDatasetId(datasetId);
table.setProjectId(projectId);
table.setTableId(tableName);
return table;
}
示例9: main
import com.google.api.services.bigquery.model.TableReference; //导入方法依赖的package包/类
/**
* Sets up and starts streaming pipeline.
*
* @throws IOException if there is a problem setting up resources
*/
public static void main(String[] args) throws IOException {
TrafficRoutesOptions options = PipelineOptionsFactory.fromArgs(args)
.withValidation()
.as(TrafficRoutesOptions.class);
options.setBigQuerySchema(FormatStatsFn.getSchema());
// Using ExampleUtils to set up required resources.
ExampleUtils exampleUtils = new ExampleUtils(options);
exampleUtils.setup();
Pipeline pipeline = Pipeline.create(options);
TableReference tableRef = new TableReference();
tableRef.setProjectId(options.getProject());
tableRef.setDatasetId(options.getBigQueryDataset());
tableRef.setTableId(options.getBigQueryTable());
pipeline
.apply("ReadLines", new ReadFileAndExtractTimestamps(options.getInputFile()))
// row... => <station route, station speed> ...
.apply(ParDo.of(new ExtractStationSpeedFn()))
// map the incoming data stream into sliding windows.
.apply(Window.<KV<String, StationSpeed>>into(SlidingWindows.of(
Duration.standardMinutes(options.getWindowDuration())).
every(Duration.standardMinutes(options.getWindowSlideEvery()))))
.apply(new TrackSpeed())
.apply(BigQueryIO.writeTableRows().to(tableRef)
.withSchema(FormatStatsFn.getSchema()));
// Run the pipeline.
PipelineResult result = pipeline.run();
// ExampleUtils will try to cancel the pipeline and the injector before the program exists.
exampleUtils.waitToFinish(result);
}
示例10: main
import com.google.api.services.bigquery.model.TableReference; //导入方法依赖的package包/类
/**
* Sets up and starts streaming pipeline.
*
* @throws IOException if there is a problem setting up resources
*/
public static void main(String[] args) throws IOException {
TrafficMaxLaneFlowOptions options = PipelineOptionsFactory.fromArgs(args)
.withValidation()
.as(TrafficMaxLaneFlowOptions.class);
options.setBigQuerySchema(FormatMaxesFn.getSchema());
// Using ExampleUtils to set up required resources.
ExampleUtils exampleUtils = new ExampleUtils(options);
exampleUtils.setup();
Pipeline pipeline = Pipeline.create(options);
TableReference tableRef = new TableReference();
tableRef.setProjectId(options.getProject());
tableRef.setDatasetId(options.getBigQueryDataset());
tableRef.setTableId(options.getBigQueryTable());
pipeline
.apply("ReadLines", new ReadFileAndExtractTimestamps(options.getInputFile()))
// row... => <station route, station speed> ...
.apply(ParDo.of(new ExtractFlowInfoFn()))
// map the incoming data stream into sliding windows.
.apply(Window.<KV<String, LaneInfo>>into(SlidingWindows.of(
Duration.standardMinutes(options.getWindowDuration())).
every(Duration.standardMinutes(options.getWindowSlideEvery()))))
.apply(new MaxLaneFlow())
.apply(BigQueryIO.writeTableRows().to(tableRef)
.withSchema(FormatMaxesFn.getSchema()));
// Run the pipeline.
PipelineResult result = pipeline.run();
// ExampleUtils will try to cancel the pipeline and the injector before the program exists.
exampleUtils.waitToFinish(result);
}
示例11: getTableReference
import com.google.api.services.bigquery.model.TableReference; //导入方法依赖的package包/类
/** Sets the table reference. */
private static TableReference getTableReference(String project, String dataset, String table){
TableReference tableRef = new TableReference();
tableRef.setProjectId(project);
tableRef.setDatasetId(dataset);
tableRef.setTableId(table);
return tableRef;
}
示例12: testWriteValidatesDataset
import com.google.api.services.bigquery.model.TableReference; //导入方法依赖的package包/类
private void testWriteValidatesDataset(boolean unbounded) throws Exception {
TableReference tableRef = new TableReference();
tableRef.setDatasetId("somedataset");
tableRef.setTableId("sometable");
PCollection<TableRow> tableRows;
if (unbounded) {
tableRows =
p.apply(GenerateSequence.from(0))
.apply(
MapElements.via(
new SimpleFunction<Long, TableRow>() {
@Override
public TableRow apply(Long input) {
return null;
}
}))
.setCoder(TableRowJsonCoder.of());
} else {
tableRows = p
.apply(Create.empty(TableRowJsonCoder.of()));
}
thrown.expect(RuntimeException.class);
// Message will be one of following depending on the execution environment.
thrown.expectMessage(
Matchers.either(Matchers.containsString("Unable to confirm BigQuery dataset presence"))
.or(Matchers.containsString("BigQuery dataset not found for table")));
tableRows
.apply(
BigQueryIO.writeTableRows().to(tableRef)
.withCreateDisposition(BigQueryIO.Write.CreateDisposition.CREATE_IF_NEEDED)
.withSchema(new TableSchema())
.withTestServices(fakeBqServices));
p.run();
}
示例13: main
import com.google.api.services.bigquery.model.TableReference; //导入方法依赖的package包/类
public static void main(String[] args) throws Exception {
Exercise6Options options =
PipelineOptionsFactory.fromArgs(args).withValidation().as(Exercise6Options.class);
// Enforce that this pipeline is always run in streaming mode.
options.setStreaming(true);
// Allow the pipeline to be cancelled automatically.
options.setRunner(DataflowPipelineRunner.class);
Pipeline pipeline = Pipeline.create(options);
TableReference sessionsTable = new TableReference();
sessionsTable.setDatasetId(options.getOutputDataset());
sessionsTable.setProjectId(options.getProject());
sessionsTable.setTableId(options.getOutputTableName());
PCollection<GameEvent> rawEvents = pipeline.apply(new Exercise3.ReadGameEvents(options));
// Extract username/score pairs from the event stream
PCollection<KV<String, Integer>> userEvents =
rawEvents.apply(
"ExtractUserScore",
MapElements.via((GameEvent gInfo) -> KV.of(gInfo.getUser(), gInfo.getScore()))
.withOutputType(new TypeDescriptor<KV<String, Integer>>() {}));
// [START EXERCISE 6]:
// Detect user sessions-- that is, a burst of activity separated by a gap from further
// activity. Find and record the mean session lengths.
// This information could help the game designers track the changing user engagement
// as their set of games changes.
userEvents
// Window the user events into sessions with gap options.getSessionGap() minutes. Make sure
// to use an outputTimeFn that sets the output timestamp to the end of the window. This will
// allow us to compute means on sessions based on their end times, rather than their start
// times.
.apply(
/* TODO: YOUR CODE GOES HERE */
new ChangeMe<PCollection<KV<String, Integer>>, KV<String, Integer>>())
// For this use, we care only about the existence of the session, not any particular
// information aggregated over it, so the following is an efficient way to do that.
.apply(Combine.perKey(x -> 0))
// Get the duration per session.
.apply("UserSessionActivity", ParDo.of(new UserSessionInfoFn()))
// Re-window to process groups of session sums according to when the sessions complete.
// In streaming we don't just ask "what is the mean value" we must ask "what is the mean
// value for some window of time". To compute periodic means of session durations, we
// re-window the session durations.
.apply(
/* TODO: YOUR CODE GOES HERE */
new ChangeMe<PCollection<Integer>, Integer>())
// Find the mean session duration in each window.
.apply(Mean.<Integer>globally().withoutDefaults())
// Write this info to a BigQuery table.
.apply(ParDo.named("FormatSessions").of(new FormatSessionWindowFn()))
.apply(
BigQueryIO.Write.to(sessionsTable)
.withSchema(FormatSessionWindowFn.getSchema())
.withCreateDisposition(CreateDisposition.CREATE_IF_NEEDED)
.withWriteDisposition(WriteDisposition.WRITE_APPEND));
// [END EXERCISE 6]:
// Run the pipeline and wait for the pipeline to finish; capture cancellation requests from the
// command line.
PipelineResult result = pipeline.run();
}
示例14: main
import com.google.api.services.bigquery.model.TableReference; //导入方法依赖的package包/类
public static void main(String[] args) throws Exception {
Exercise4Options options =
PipelineOptionsFactory.fromArgs(args).withValidation().as(Exercise4Options.class);
// Enforce that this pipeline is always run in streaming mode.
options.setStreaming(true);
// For example purposes, allow the pipeline to be easily cancelled instead of running
// continuously.
options.setRunner(DataflowPipelineRunner.class);
Pipeline pipeline = Pipeline.create(options);
TableReference teamTable = new TableReference();
teamTable.setDatasetId(options.getOutputDataset());
teamTable.setProjectId(options.getProject());
teamTable.setTableId(options.getOutputTableName() + "_team");
TableReference userTable = new TableReference();
userTable.setDatasetId(options.getOutputDataset());
userTable.setProjectId(options.getProject());
userTable.setTableId(options.getOutputTableName() + "_user");
PCollection<GameEvent> gameEvents = pipeline.apply(new Exercise3.ReadGameEvents(options));
gameEvents
.apply(
"CalculateTeamScores",
new CalculateTeamScores(
Duration.standardMinutes(options.getTeamWindowDuration()),
Duration.standardMinutes(options.getAllowedLateness())))
// Write the results to BigQuery.
.apply(ParDo.named("FormatTeamScores").of(new FormatTeamScoreFn()))
.apply(
BigQueryIO.Write.to(teamTable)
.withSchema(FormatTeamScoreFn.getSchema())
.withCreateDisposition(CreateDisposition.CREATE_IF_NEEDED)
.withWriteDisposition(WriteDisposition.WRITE_APPEND));
gameEvents
.apply(
"CalculateUserScores",
new CalculateUserScores(Duration.standardMinutes(options.getAllowedLateness())))
// Write the results to BigQuery.
.apply(ParDo.named("FormatUserScores").of(new FormatUserScoreFn()))
.apply(
BigQueryIO.Write.to(userTable)
.withSchema(FormatUserScoreFn.getSchema())
.withCreateDisposition(CreateDisposition.CREATE_IF_NEEDED)
.withWriteDisposition(WriteDisposition.WRITE_APPEND));
// Run the pipeline and wait for the pipeline to finish; capture cancellation requests from the
// command line.
PipelineResult result = pipeline.run();
}
示例15: main
import com.google.api.services.bigquery.model.TableReference; //导入方法依赖的package包/类
public static void main(String[] args) throws Exception {
Exercise7Options options =
PipelineOptionsFactory.fromArgs(args).withValidation().as(Exercise7Options.class);
// Enforce that this pipeline is always run in streaming mode.
options.setStreaming(true);
// Allow the pipeline to be cancelled automatically.
options.setRunner(DataflowPipelineRunner.class);
Pipeline pipeline = Pipeline.create(options);
TableReference badUserTable = new TableReference();
badUserTable.setDatasetId(options.getOutputDataset());
badUserTable.setProjectId(options.getProject());
badUserTable.setTableId(options.getOutputTableName() + "_bad_users");
// 1. Read game events with message id and timestamp
// 2. Parse events
// 3. Key by event id
// 4. Sessionize.
PCollection<KV<String, GameEvent>> sessionedEvents = null; /* TODO: YOUR CODE GOES HERE */
// 1. Read play events with message id and timestamp
// 2. Parse events
// 3. Key by event id
// 4. Sessionize.
PCollection<KV<String, PlayEvent>> sessionedPlayEvents = null; /* TODO: YOUR CODE GOES HERE */
// 1. Join events
// 2. Compute latency using ComputeLatencyFn
PCollection<KV<String, Long>> userLatency = null; /* TODO: YOUR CODE GOES HERE */
// 1. Get the values of userLatencies
// 2. Re-window into GlobalWindows with periodic repeated triggers
// 3. Compute global approximate quantiles with fanout
PCollectionView<List<Long>> globalQuantiles = null; /* TODO: YOUR CODE GOES HERE */
userLatency
// Use the computed latency distribution as a side-input to filter out likely bad users.
.apply(
"DetectBadUsers",
ParDo.withSideInputs(globalQuantiles)
.of(
new DoFn<KV<String, Long>, String>() {
public void processElement(ProcessContext c) {
/* TODO: YOUR CODE GOES HERE */
throw new RuntimeException("Not implemented");
}
}))
// We want to only emilt a single BigQuery row for every bad user. To do this, we
// re-key by user, then window globally and trigger on the first element for each key.
.apply(
"KeyByUser",
WithKeys.of((String user) -> user).withKeyType(TypeDescriptor.of(String.class)))
.apply(
"GlobalWindowsTriggerOnFirst",
Window.<KV<String, String>>into(new GlobalWindows())
.triggering(
AfterProcessingTime.pastFirstElementInPane()
.plusDelayOf(Duration.standardSeconds(10)))
.accumulatingFiredPanes())
.apply("GroupByUser", GroupByKey.<String, String>create())
.apply("FormatBadUsers", ParDo.of(new FormatBadUserFn()))
.apply(
"WriteBadUsers",
BigQueryIO.Write.to(badUserTable)
.withSchema(FormatBadUserFn.getSchema())
.withCreateDisposition(CreateDisposition.CREATE_IF_NEEDED)
.withWriteDisposition(WriteDisposition.WRITE_APPEND));
// Run the pipeline and wait for the pipeline to finish; capture cancellation requests from the
// command line.
PipelineResult result = pipeline.run();
}