diff --git a/samples/src/main/java/com/example/bigquery/GetDatasetInfo.java b/samples/src/main/java/com/example/bigquery/GetDatasetInfo.java
new file mode 100644
index 000000000..52f4d54d0
--- /dev/null
+++ b/samples/src/main/java/com/example/bigquery/GetDatasetInfo.java
@@ -0,0 +1,63 @@
+/*
+ * Copyright 2020 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.example.bigquery;
+
+import com.google.api.gax.paging.Page;
+import com.google.cloud.bigquery.BigQuery;
+import com.google.cloud.bigquery.BigQuery.TableListOption;
+import com.google.cloud.bigquery.BigQueryException;
+import com.google.cloud.bigquery.BigQueryOptions;
+import com.google.cloud.bigquery.Dataset;
+import com.google.cloud.bigquery.DatasetId;
+import com.google.cloud.bigquery.Table;
+
+// [START bigquery_get_dataset]
+public class GetDatasetInfo {
+
+ public static void runGetDatasetInfo() {
+ // TODO(developer): Replace these variables before running the sample.
+ String projectId = "MY_PROJECT_ID";
+ String datasetName = "MY_DATASET_NAME";
+ getDatasetInfo(projectId, datasetName);
+ }
+
+ public static void getDatasetInfo(String projectId, String datasetName) {
+ try {
+ // Initialize client that will be used to send requests. This client only needs to be created
+ // once, and can be reused for multiple requests.
+ BigQuery bigquery = BigQueryOptions.getDefaultInstance().getService();
+ DatasetId datasetId = DatasetId.of(projectId, datasetName);
+ Dataset dataset = bigquery.getDataset(datasetId);
+
+ // View dataset properties
+ String description = dataset.getDescription();
+ System.out.println(description);
+
+ // View tables in the dataset
+ // For more information on listing tables see:
+ // https://javadoc.io/static/com.google.cloud/google-cloud-bigquery/0.22.0-beta/com/google/cloud/bigquery/BigQuery.html
+ Page
tables = bigquery.listTables(datasetName, TableListOption.pageSize(100));
+
+ tables.iterateAll().forEach(table -> System.out.print(table.getTableId().getTable() + "\n"));
+
+ System.out.println("Dataset info retrieved successfully.");
+ } catch (BigQueryException e) {
+ System.out.println("Dataset info not retrieved. \n" + e.toString());
+ }
+ }
+}
+// [END bigquery_get_dataset]
diff --git a/samples/src/test/java/com/example/bigquery/GetDatasetInfoIT.java b/samples/src/test/java/com/example/bigquery/GetDatasetInfoIT.java
new file mode 100644
index 000000000..ff92737a5
--- /dev/null
+++ b/samples/src/test/java/com/example/bigquery/GetDatasetInfoIT.java
@@ -0,0 +1,65 @@
+/*
+ * Copyright 2020 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.example.bigquery;
+
+import static com.google.common.truth.Truth.assertThat;
+import static junit.framework.TestCase.assertNotNull;
+
+import java.io.ByteArrayOutputStream;
+import java.io.PrintStream;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+public class GetDatasetInfoIT {
+ private ByteArrayOutputStream bout;
+ private PrintStream out;
+
+ private static final String GOOGLE_CLOUD_PROJECT = System.getenv("BIGQUERY_PROJECT_ID");
+ private static final String BIGQUERY_DATASET_NAME = System.getenv("BIGQUERY_DATASET_NAME");
+
+ private static void requireEnvVar(String varName) {
+ assertNotNull(
+ "Environment variable " + varName + " is required to perform these tests.",
+ System.getenv(varName));
+ }
+
+ @BeforeClass
+ public static void checkRequirements() {
+ requireEnvVar("GOOGLE_CLOUD_PROJECT");
+ requireEnvVar("BIGQUERY_DATASET_NAME");
+ }
+
+ @Before
+ public void setUp() {
+ bout = new ByteArrayOutputStream();
+ out = new PrintStream(bout);
+ System.setOut(out);
+ }
+
+ @After
+ public void tearDown() {
+ System.setOut(null);
+ }
+
+ @Test
+ public void getDatasetInfo() {
+ GetDatasetInfo.getDatasetInfo(GOOGLE_CLOUD_PROJECT, BIGQUERY_DATASET_NAME);
+ assertThat(bout.toString()).contains("Dataset info retrieved successfully.");
+ }
+}