Prepare Data for ML APIs on Google Cloud: Challenge Lab Reviews

233095 reviews

Willian T. · Reviewed over 2 years ago

Fernando A. · Reviewed over 2 years ago

very difficult

Moisés Arturo R. · Reviewed over 2 years ago

Fidel S. · Reviewed over 2 years ago

Yevhenii O. · Reviewed over 2 years ago

bad

Moisés Arturo R. · Reviewed over 2 years ago

dsd

Alexsander T. · Reviewed over 2 years ago

Victor Luís D. · Reviewed over 2 years ago

Sahil S. · Reviewed over 2 years ago

Krish M. · Reviewed over 2 years ago

Narasimha C. · Reviewed over 2 years ago

Lab broken for steps 3 & 4. Cannot upload result files to cloud storage bucket.

Jaco M. · Reviewed over 2 years ago

Griselda A. · Reviewed over 2 years ago

Elisdênia S. · Reviewed over 2 years ago

Lukasz Z. · Reviewed over 2 years ago

Polanki V. · Reviewed over 2 years ago

ESTEBAN A. · Reviewed over 2 years ago

AZENURAIN C. · Reviewed over 2 years ago

This workaround that support gave me is better than the lab. The whole lab should be taught to do it in Google Cloud Console... Task 3: Use the Google Cloud Speech API Note: Only after performing both Task 3 and Task 4 will the Activity Tracker for both the tasks go green. In GCP console -> API & Services -> Credentials -> Create credentials -> API Key. Copy the generated API key in a clipboard to be used later. Run the below commands in Cloudshell. export API_KEY=<copy the generated API key here> export TASK_3_BUCKET_NAME=<Copy bucket name from Task 3 lab instructions> (Ex: gs://qwiklabs-gcp-02-e688b7715274-marking/task3-gcs-637.result in my case) export TASK_4_BUCKET_NAME=<Copy bucket name from Task 4 lab instructions> gcloud iam service-accounts create quicklab \ --display-name "my natural language service account" gcloud iam service-accounts keys create ~/key.json \ --iam-account quicklab@${GOOGLE_CLOUD_PROJECT}.iam.gserviceaccount.com export GOOGLE_APPLICATION_CREDENTIALS="/home/$USER/key.json" gcloud auth activate-service-account quicklab@${GOOGLE_CLOUD_PROJECT}.iam.gserviceaccount.com --key-file=$GOOGLE_APPLICATION_CREDENTIALS gcloud ml language analyze-entities --content="Old Norse texts portray Odin as one-eyed and long-bearded, frequently wielding a spear named Gungnir and wearing a cloak and a broad hat." > result.json gcloud auth login --no-launch-browser Type “y” when prompted. In the output, a link gets generated in Cloudshell and along with a prompt asking for the authorization code. Click on the link and open it in a new browser. In the browser, log into the student account -> click Allow. Copy the generated verification code and paste it in the “authorization code” in Cloudshell. Press [Enter]. Task 4: Use the Cloud Natural Language API In Cloudshell, issue the following commands: gsutil cp result.json $TASK_4_BUCKET_NAME cat > request.json <<EOF { "config": { "encoding":"FLAC", "languageCode": "en-US" }, "audio": { "uri":"gs://cloud-training/gsp323/task3.flac" } } EOF curl -s -X POST -H "Content-Type: application/json" --data-binary @request.json \ "https://speech.googleapis.com/v1/speech:recognize?key=${API_KEY}" > result.json gsutil cp result.json $TASK_3_BUCKET_NAME gcloud iam service-accounts create quickstart gcloud iam service-accounts keys create key.json --iam-account quickstart@${GOOGLE_CLOUD_PROJECT}.iam.gserviceaccount.com gcloud auth activate-service-account --key-file key.json export ACCESS_TOKEN=$(gcloud auth print-access-token) cat > request.json <<EOF { "inputUri":"gs://spls/gsp154/video/train.mp4", "features": [ "TEXT_DETECTION" ] } EOF curl -s -H 'Content-Type: application/json' \ -H "Authorization: Bearer $ACCESS_TOKEN" \ 'https://videointelligence.googleapis.com/v1/videos:annotate' \ -d @request.json curl -s -H 'Content-Type: application/json' -H "Authorization: Bearer $ACCESS_TOKEN" 'https://videointelligence.googleapis.com/v1/operations/OPERATION_FROM_PREVIOUS_REQUEST' > result1.json

Jacob J. · Reviewed over 2 years ago

Daniel Alejandro D. · Reviewed over 2 years ago

Beatrice K. · Reviewed over 2 years ago

Mykhailo T. · Reviewed over 2 years ago

2116 y. · Reviewed over 2 years ago

​task 1 fails. "Error message from worker: org.apache.beam.sdk.util.UserCodeException: java.lang.RuntimeException: Failed to serialize json to table row: \"a228717b-46eb-4107-a4d2-f0e321ef3ff3\",false,\"Pacheco\",\"Farley\",\"ISOTRONIC\",\"pachecofarley@isotronic.com\",\"+1 (915) 512-3040\",\"794 Dekoven Court, Coalmont, Rhode Island, 4358\",\"Ullamco amet sint minim anim pariatur consequat nostrud pariatur excepteur voluptate tempor Lorem eu. Pariatur ut ullamco ad duis nostrud excepteur est velit eu deserunt voluptate. Laboris voluptate eu officia exercitation commodo eiusmod dolore ea cillum sint consequat culpa id dolore.\",\"2014-07-04T09:46:22 -08:00\",-20.301872,-110.658406\n\torg.apache.beam.sdk.util.UserCodeException.wrap(UserCodeException.java:39)\n\torg.apache.beam.sdk.transforms.MapElements$2$DoFnInvoker.invokeProcessElement(Unknown Source)\n\torg.apache.beam.fn.harness.FnApiDoFnRunner.processElementForParDo(FnApiDoFnRunner.java:803)\n\torg.apache.beam.fn.harness.data.PCollectionConsumerRegistry$MetricTrackingFnDataReceiver.accept(PCollectionConsumerRegistry.java:348)\n\torg.apache.beam.fn.harness.data.PCollectionConsumerRegistry$MetricTrackingFnDataReceiver.accept(PCollectionConsumerRegistry.java:275)\n\torg.apache.beam.fn.harness.FnApiDoFnRunner.outputTo(FnApiDoFnRunner.java:1792)\n\torg.apache.beam.fn.harness.FnApiDoFnRunner.access$3000(FnApiDoFnRunner.java:143)\n\torg.apache.beam.fn.harness.FnApiDoFnRunner$NonWindowObservingProcessBundleContext.output(FnApiDoFnRunner.java:2514)\n\tcom.google.cloud.teleport.templates.common.JavascriptTextTransformer$TransformTextViaJavascript$1.processElement(JavascriptTextTransformer.java:357)\n\tcom.google.cloud.teleport.templates.common.JavascriptTextTransformer$TransformTextViaJavascript$1$DoFnInvoker.invokeProcessElement(Unknown Source)\n\torg.apache.beam.fn.harness.FnApiDoFnRunner.processElementForParDo(FnApiDoFnRunner.java:803)\n\torg.apache.beam.fn.harness.data.PCollectionConsumerRegistry$MetricTrackingFnDataReceiver.accept(PCollectionConsumerRegistry.java:348)\n\torg.apache.beam.fn.harness.data.PCollectionConsumerRegistry$MetricTrackingFnDataReceiver.accept(PCollectionConsumerRegistry.java:275)\n\torg.apache.beam.fn.harness.FnApiDoFnRunner.outputTo(FnApiDoFnRunner.java:1792)\n\torg.apache.beam.fn.harness.FnApiDoFnRunner.access$3000(FnApiDoFnRunner.java:143)\n\torg.apache.beam.fn.harness.FnApiDoFnRunner$WindowObservingProcessBundleContext.outputWithTimestamp(FnApiDoFnRunner.java:2218)\n\torg.apache.beam.sdk.io.Read$BoundedSourceAsSDFWrapperFn.processElement(Read.java:321)\n\torg.apache.beam.sdk.io.Read$BoundedSourceAsSDFWrapperFn$DoFnInvoker.invokeProcessElement(Unknown Source)\n\torg.apache.beam.fn.harness.FnApiDoFnRunner.processElementForWindowObservingSizedElementAndRestriction(FnApiDoFnRunner.java:1100)\n\torg.apache.beam.fn.harness.FnApiDoFnRunner.access$1500(FnApiDoFnRunner.java:143)\n\torg.apache.beam.fn.harness.FnApiDoFnRunner$4.accept(FnApiDoFnRunner.java:659)\n\torg.apache.beam.fn.harness.FnApiDoFnRunner$4.accept(FnApiDoFnRunner.java:654)\n\torg.apache.beam.fn.harness.data.PCollectionConsumerRegistry$MetricTrackingFnDataReceiver.accept(PCollectionConsumerRegistry.java:348)\n\torg.apache.beam.fn.harness.data.PCollectionConsumerRegistry$MetricTrackingFnDataReceiver.accept(PCollectionConsumerRegistry.java:275)\n\torg.apache.beam.fn.harness.BeamFnDataReadRunner.forwardElementToConsumer(BeamFnDataReadRunner.java:213)\n\torg.apache.beam.sdk.fn.data.BeamFnDataInboundObserver.multiplexElements(BeamFnDataInboundObserver.java:158)\n\torg.apache.beam.fn.harness.control.ProcessBundleHandler.processBundle(ProcessBundleHandler.java:537)\n\torg.apache.beam.fn.harness.control.BeamFnControlClient.delegateOnInstructionRequestType(BeamFnControlClient.java:150)\n\torg.apache.beam.fn.harness.control.BeamFnControlClient$InboundObserver.lambda$onNext$0(BeamFnControlClient.java:115)\n\tjava.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)\n\tjava.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)\n\torg.apache.beam.sdk.util.UnboundedScheduledExecutorService$ScheduledFutureTask.run(UnboundedScheduledExecutorService.java:163)\n\tjava.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)\n\tjava.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)\n\tjava.base/java.lang.Thread.run(Thread.java:829)\nCaused by: java.lang.RuntimeException: Failed to serialize json to table row: \"a228717b-46eb-4107-a4d2-f0e321ef3ff3\",false,\"Pacheco\",\"Farley\",\"ISOTRONIC\",\"pachecofarley@isotronic.com\",\"+1 (915) 512-3040\",\"794 Dekoven Court, Coalmont, Rhode Island, 4358\",\"Ullamco amet sint minim anim pariatur consequat nostrud pariatur excepteur voluptate tempor Lorem eu. Pariatur ut ullamco ad duis nostrud excepteur est velit eu deserunt voluptate. Laboris voluptate eu officia exercitation commodo eiusmod dolore ea cillum sint consequat culpa id dolore.\",\"2014-07-04T09:46:22 -08:00\",-20.301872,-110.658406\n\tcom.google.cloud.teleport.templates.common.BigQueryConverters.convertJsonToTableRow(BigQueryConverters.java:352)\n\tcom.google.cloud.teleport.templates.common.BigQueryConverters$JsonToTableRow$1.apply(BigQueryConverters.java:131)\n\tcom.google.cloud.teleport.templates.common.BigQueryConverters$JsonToTableRow$1.apply(BigQueryConverters.java:128)\n\torg.apache.beam.sdk.transforms.MapElements$2.processElement(MapElements.java:151)\nCaused by: com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot construct instance of `com.google.api.services.bigquery.model.TableRow` (although at least one Creator exists): no String-argument constructor/factory method to deserialize from String value ('a228717b-46eb-4107-a4d2-f0e321ef3ff3')\n at [Source: (String)\"\"a228717b-46eb-4107-a4d2-f0e321ef3ff3\",false,\"Pacheco\",\"Farley\",\"ISOTRONIC\",\"pachecofarley@isotronic.com\",\"+1 (915) 512-3040\",\"794 Dekoven Court, Coalmont, Rhode Island, 4358\",\"Ullamco amet sint minim anim pariatur consequat nostrud pariatur excepteur voluptate tempor Lorem eu. Pariatur ut ullamco ad duis nostrud excepteur est velit eu deserunt voluptate. Laboris voluptate eu officia exercitation commodo eiusmod dolore ea cillum sint consequat culpa id dolore.\",\"2014-07-04T09:46:22 -08:00\",-20.3\"[truncated 17 chars]; line: 1, column: 1]\n\tcom.fasterxml.jackson.databind.exc.MismatchedInputException.from(MismatchedInputException.java:63)\n\tcom.fasterxml.jackson.databind.DeserializationContext.reportInputMismatch(DeserializationContext.java:1733)\n\tcom.fasterxml.jackson.databind.DeserializationContext.handleMissingInstantiator(DeserializationContext.java:1358)\n\tcom.fasterxml.jackson.databind.deser.std.StdDeserializer._deserializeFromString(StdDeserializer.java:311)\n\tcom.fasterxml.jackson.databind.deser.std.MapDeserializer.deserialize(MapDeserializer.java:454)\n\tcom.fasterxml.jackson.databind.deser.std.MapDeserializer.deserialize(MapDeserializer.java:32)\n\tcom.fasterxml.jackson.databind.deser.DefaultDeserializationContext.readRootValue(DefaultDeserializationContext.java:323)\n\tcom.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:4730)\n\tcom.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3677)\n\tcom.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3645)\n\torg.apache.beam.sdk.io.gcp.bigquery.TableRowJsonCoder.decode(TableRowJsonCoder.java:59)\n\tcom.google.cloud.teleport.templates.common.BigQueryConverters.convertJsonToTableRow(BigQueryConverters.java:349)\n\tcom.google.cloud.teleport.templates.common.BigQueryConverters$JsonToTableRow$1.apply(BigQueryConverters.java:131)\n\tcom.google.cloud.teleport.templates.common.BigQueryConverters$JsonToTableRow$1.apply(BigQueryConverters.java:128)\n\torg.apache.beam.sdk.transforms.MapElements$2.processElement(MapElements.java:151)\n\torg.apache.beam.sdk.transforms.MapElements$2$DoFnInvoker.invokeProcessElement(Unknown Source)\n\torg.apache.beam.fn.harness.FnApiDoFnRunner.processElementForParDo(FnApiDoFnRunner.java:803)\n\torg.apache.beam.fn.harness.data.PCollectionConsumerRegistry$MetricTrackingFnDataReceiver.accept(PCollectionConsumerRegistry.java:348)\n\torg.apache.beam.fn.harness.data.PCollectionConsumerRegistry$MetricTrackingFnDataReceiver.accept(PCollectionConsumerRegistry.java:275)\n\torg.apache.beam.fn.harness.FnApiDoFnRunner.outputTo(FnApiDoFnRunner.java:1792)\n\torg.apache.beam.fn.harness.FnApiDoFnRunner.access$3000(FnApiDoFnRunner.java:143)\n\torg.apache.beam.fn.harness.FnApiDoFnRunner$NonWindowObservingProcessBundleContext.output(FnApiDoFnRunner.java:2514)\n\tcom.google.cloud.teleport.templates.common.JavascriptTextTransformer$TransformTextViaJavascript$1.processElement(JavascriptTextTransformer.java:357)\n\tcom.google.cloud.teleport.templates.common.JavascriptTextTransformer$TransformTextViaJavascript$1$DoFnInvoker.invokeProcessElement(Unknown Source)\n\torg.apache.beam.fn.harness.FnApiDoFnRunner.processElementForParDo(FnApiDoFnRunner.java:803)\n\torg.apache.beam.fn.harness.data.PCollectionConsumerRegistry$MetricTrackingFnDataReceiver.accept(PCollectionConsumerRegistry.java:348)\n\torg.apache.beam.fn.harness.data.PCollectionConsumerRegistry$MetricTrackingFnDataReceiver.accept(PCollectionConsumerRegistry.java:275)\n\torg.apache.beam.fn.harness.FnApiDoFnRunner.outputTo(FnApiDoFnRunner.java:1792)\n\torg.apache.beam.fn.harness.FnApiDoFnRunner.access$3000(FnApiDoFnRunner.java:143)\n\torg.apache.beam.fn.harness.FnApiDoFnRunner$WindowObservingProcessBundleContext.outputWithTimestamp(FnApiDoFnRunner.java:2218)\n\torg.apache.beam.sdk.io.Read$BoundedSourceAsSDFWrapperFn.processElement(Read.java:321)\n\torg.apache.beam.sdk.io.Read$BoundedSourceAsSDFWrapperFn$DoFnInvoker.invokeProcessElement(Unknown Source)\n\torg.apache.beam.fn.harness.FnApiDoFnRunner.processElementForWindowObservingSizedElementAndRestriction(FnApiDoFnRunner.java:1100)\n\torg.apache.beam.fn.harness.FnApiDoFnRunner.access$1500(FnApiDoFnRunner.java:143)\n\torg.apache.beam.fn.harness.FnApiDoFnRunner$4.accept(FnApiDoFnRunner.java:659)\n\torg.apache.beam.fn.harness.FnApiDoFnRunner$4.accept(FnApiDoFnRunner.java:654)\n\torg.apache.beam.fn.harness.data.PCollectionConsumerRegistry$MetricTrackingFnDataReceiver.accept(PCollectionConsumerRegistry.java:348)\n\torg.apache.beam.fn.harness.data.PCollectionConsumerRegistry$MetricTrackingFnDataReceiver.accept(PCollectionConsumerRegistry.java:275)\n\torg.apache.beam.fn.harness.BeamFnDataReadRunner.forwardElementToConsumer(BeamFnDataReadRunner.java:213)\n\torg.apache.beam.sdk.fn.data.BeamFnDataInboundObserver.multiplexElements(BeamFnDataInboundObserver.java:158)\n\torg.apache.beam.fn.harness.control.ProcessBundleHandler.processBundle(ProcessBundleHandler.java:537)\n\torg.apache.beam.fn.harness.control.BeamFnControlClient.delegateOnInstructionRequestType(BeamFnControlClient.java:150)\n\torg.apache.beam.fn.harness.control.BeamFnControlClient$InboundObserver.lambda$onNext$0(BeamFnControlClient.java:115)\n\tjava.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)\n\tjava.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)\n\torg.apache.beam.sdk.util.UnboundedScheduledExecutorService$ScheduledFutureTask.run(UnboundedScheduledExecutorService.java:163)\n\tjava.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)\n\tjava.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)\n\tjava.base/java.lang.Thread.run(Thread.java:829)\n",

Jaan M. · Reviewed over 2 years ago

We do not ensure the published reviews originate from consumers who have purchased or used the products. Reviews are not verified by Google.