Data Scientist Basics learning path


Userlevel 4
Badge +5

Cognite Academy is excited to share with you the new Data Scientist Basics learning path!

When your data is contextualized in Cognite Data Fusion, it’s time to start building your solutions. This new learning path on Cognite Academy, our e-learning portal, teaches you how to access the data with the APIs and SDKs that Cognite provides, and how to use Cognite and third party tools to analyze and visualize your data. The learning path is aimed at data scientists. However, solution architects, data engineers, and domain engineers with some coding knowledge can also find it useful and relevant.
 

By the end of the learning path, you will be able to:

  • Access the data using Cognite Python SDK. 

  • Build solutions to industrial use cases on Cognite Charts. 

  • Use Cognite Functions to deploy and schedule your Python function.

  • Connect Grafana and Power BI to a CDF project.

Upon successful completion, you’ll earn a certificate and gain the Data Scientist badge here on Cognite Hub.

Register for the learning path.


14 replies

Userlevel 2
Badge

[SOLVED] can someone tell me if it is a requirement to install and use poetry for this training? can i simply clone the git repo in VS code and proceed?

 

 

Userlevel 2

Hi Chris, you can simply clone the git repo and proceed using your local environment, as long as you make sure to have the packages required by the course. All the packages and their versions should be in the “requirements.txt” file. If you want to install all of the packages, you can run:

$ pip install -r requirements.txt

 Hope this helps.

Userlevel 2
Badge

Thanks @Kristian Gjestad Vangsnes ! After cloning and installing requirements as you suggest, most seems to be working. I say most because when I began to execute code in 1_Authentication.ipynb, it made me install “ipykernel”. VS Code handled it fine, just a note that might help you. 

Userlevel 2

Happy to hear that it’s working. That’s true, I forgot to mention that Jupyter notebooks with VS Code needs ipykernel in order to work. Requirements will be updated so that ipykernel is included in the future.

Hi!

Thanks for sharing and creating learning materials. I see there is a course on Incremental refresh towards CDF from Power BI. To be able to use this functionality, CDF needs to support query folding. My experience is that CDF does not, so when getting timeseries for example - incremental refresh is not an option (this can be checked by right clicking on source in the power query editor, right pane, and see if “View native Query” is greyed out. if yes - then query folding is not supported, and incremental refresh is of no use.) Is this something you have considered when creating this course? If yes - what are your thoughts on query folding, does parts of CDF support it?

KR Sunniva

 

 

Hi, @Sunniva Larsen 

The Cognite Power BI Connector supports query folding, but Power BI is not able to determine which features that are foldable until the query runs. 
Certain types of filtering are not foldable, for example filtering on nested metadata, unless written by hand in the project field when configuring the connector.

The reason the View Native Query box is greyed out is that the Cognite Power BI Connector is not an SQL connector, and thus, it cannot display a native (SQL) query that relates to the filters on the data source. 
However, incremental refresh can still work even if Power BI doesn't know if it is foldable, as long as the query is foldable.

For incremental refresh, I recommend you check out the following guide:
https://learn.cognite.com/cdf-power-bi-implementing-incremental-refresh

For incremental refresh on the TimeseriesAggregate function, the TimeseriesAggregate function call should be modified by wrapping the RangeStart and RangeEnd in DateTime.AddZone so they are converted to the DateTimeZone type, and to use these as the start time and end time parameters for the function.

For example:

= TimeseriesAggregate(#"Timeseries-ids", Granularity, DateTime.AddZone(RangeStart,0), DateTime.AddZone(RangeEnd,0))

 

Thank you! I’ll try this DateTimeZone type!:)

Badge +3

Hello, I am trying to work on the “Learn to Use the Cognite Python SDK” course and I am stuck on the part below: 

Can you please help me with this? Thanks in advance!

Badge

Hello,

I’m having trouble authenticating and get an error when running Code Block 9 in the 1_Authentication.ipynb notebook (see the screenshot). Everything else runs fine up to that point and when I run that block, a tab opens in my browser with the message “Authentication completed. You can close this window now.” However, codeblock keeps running until it eventually seems to time out at around 1m 30s. Any idea what I’m doing wrong?

Thanks!

Userlevel 3
Badge +6

Hi @JustinKracht 

In order to help you I need some more information. I can't see the entire error message in the screenshot. 

I have to mention that we are working on that particular course and there will be an updated version soon.

The first method provides 3 ways of authentication. Please reset everything and try to run only the very first. If you read the instructions, the last method presented will not work since you are not given a client secret. 

Userlevel 1
Badge +2

Hello,

In Cognite Functions course in Notebook 2 I’m getting error while cognite function run. But the handle runs perfectly on my local. Please help!

 

Here is the error log:

==================================================

  • 2023-04-27 10:42 Function started
  • The function terminated unexpectedly. Please contact Cognite support if the problem persists.
  • _point.py", line 455, in run_handle
  • result = handle(*function_argument_values)
  • File "/home/site/wwwroot/function/handler.py", line 41, in handle
  • df = client.datapoints.retrieve_dataframe(
  • AttributeError: 'CogniteClient' object has no attribute 'datapoints'
  • 2023-04-27 10:43 Function ended

================================================== 

 

Troubleshooting doc doesn’t have the error I’m facing https://docs.cognite.com/cdf/functions/known_issues/

Userlevel 3

@Asan Arifov it seems that you use the latest version of cognite-sdk, and there you can retrieve datapoints like that

>>> from cognite.client import CogniteClient

>>> client = CogniteClient()

>>> dps = client.time_series.data.retrieve(id=42, start="2w-ago")

 

To resolve the issue you can either update the code or use the 5th version of SDK.

Userlevel 1
Badge +2

Hi @roman.chesnokov, thanks..

So Cognite SDK versions are not backward compatible? Is it possible to specify what SDK version server have to use in cognite function requirements.txt?

Userlevel 3

@Asan Arifov the major versions don't guarantee backward compatibility. Recently SDK was updated to version 6. But of course you can specify the version in requirements.

Reply