0 / 0
Go back to the English version of the documentation
project-lib pro Python
Last updated: 18. 8. 2023
project-lib pro Python

Potřebujete-li interagovat s projekty Watson Studio a s aktivy projektu z notebooku, můžete použít knihovnu project-lib pro Python. Knihovna je jako programmatické rozhraní k projektu.

Pomocí knihovny produktu project-lib pro Pythonmůžete přistupovat k metadatům a aktivům projektu, včetně souborů a připojení. Knihovna také obsahuje funkce, které zjednodušují načítání souborů přidružených k projektu.

Pozn.:


-Funkce project-lib nekóduje nebo dekóduje data při ukládání dat do souboru nebo získávání dat ze souboru.
-Funkce produktu project-lib nemohou být použity k přístupu k připojeným aktivům složky (soubory na cestě v produktu Cloud Object Storage).

Použít knihovnu

Knihovna project-lib pro Python je předinstalovaná a lze ji importovat přímo do notebooku v editoru notebooku. Chcete-li použít knihovnu project-lib v zápisníku, potřebujete ID projektu a token projektu.

Chcete-li vložit token projektu do notebooku, postupujte takto:

  1. Klepněte na ikonu Více na panelu nástrojů zápisníku a poté klepněte na volbu Vložit token projektu.

    Pokud token projektu existuje, přidá se do notebooku buňka s následujícími informacemi:

    from project_lib import Project
    project = Project(sc,"<ProjectId>","<ProjectToken>")
    

    sc je kontext Spark, je-li použit Spark. <ProjectId> je ID vašeho projektu a <ProjectToken> je hodnota tokenu projektu.

    Je-li ve zprávě řečeno, že neexistuje žádný token projektu, klepněte na odkaz ve zprávě a přesměrovává se na stránku projektu Řízení přístupu , kde můžete vytvořit token projektu. Chcete-li vytvořit token projektu, musíte být způsobilí. Podrobnosti naleznete v tématu Ruční přidání tokenu projektu.

    Chcete-li vytvořit token projektu:

    1. Na kartě Spravovat vyberte stránku Řízení přístupu a klepněte na volbu Nový přístupový token pod Tokeny přístupu.
    2. Zadejte název, vyberte roli Editor pro projekt a vytvořte token.
    3. Přejděte zpět na svůj notebook, klepněte na ikonu Více na panelu nástrojů zápisníku a poté klepněte na volbu Vložit token projektu.

Funkce produktu project-lib

Objekt projektu převedený na instanci vytvořený poté, co jste naimportovali knihovnu produktu project-lib , odkrývá sadu funkcí seskupených takto:

Načíst informace o projektu

Můžete použít následující funkce k programovému načtení informací souvisejících s projektantem:

  • get_name()

    Tato funkce vrací název projektu.

  • get_description()

    Tato funkce vrací popis projektu.

  • get_metadata()

    Tato funkce vrací metadata projektu.

  • get_storage_metadata()

    Tato funkce vrací metadata úložiště objektů přidružené k projektu.

  • get_project_bucket_name()

    Tato funkce vrací název sektoru projektu v přidruženém úložišti objektů. Všechny soubory projektu jsou uloženy v tomto sektoru.

  • get_files()

    Tato funkce vrací seznam souborů ve vašem projektu. Každý prvek ve vráceném seznamu obsahuje ID a název souboru. Seznam vrácených souborů není řazen podle žádného kritéria a lze jej změnit, když znovu zavoláte funkci.

  • get_assets()

    Tato funkce vrací seznam všech aktiv projektu. Volitelný parametr asset_type můžete předat do funkce get_assets , která vám umožňuje filtrovat aktiva podle typu. Akceptované hodnoty pro tento parametr jsou data_asset, connection a asset. Hodnota asset vrací všechna aktiva ve vašem projektu. Chcete-li například získat pouze datová aktiva, použijte funkci get_assets("data_asset").

  • get_connections()

    Tato funkce vrací seznam připojení, která máte ve svém projektu. Každý prvek ve vráceném seznamu obsahuje ID a název připojení.

Načtení souborů

Chcete-li načíst soubory uložené v úložišti objektů přidruženém k vašemu projektu, můžete použít následující funkce.

Soubory můžete načítat dvěma způsoby:

  • get_file_url(file_name) kde file_name je jméno souboru, který chcete načíst.

    Tato funkce vrací adresu URL pro načtení souboru z úložiště objektů pomocí produktu Spark. Adresa URL je vytvořena na základě typu úložiště objektů přidruženého k projektu. Konfigurace Hadoop jsou nastaveny automaticky při interakci s úložištěm objektů vašeho projektu.

    Následující příklad ukazuje, jak použít tuto funkci k načtení dat z úložiště objektů pomocí Spark:

    # Import the lib
    from project_lib import Project
    project = Project(sc,"<ProjectId>", "<ProjectToken>")
    
    # Get the url
    url = project.get_file_url("myFile.csv")
    
    # Fetch the CSV file from the object storage using Spark
    from pyspark.sql import SparkSession
    spark = SparkSession.builder.getOrCreate()
    df_data_1 = spark.read\
      .format('org.apache.spark.sql.execution.datasources.csv.CSVFileFormat')\
      .option('header', 'true')\
      .load(url)
    df_data_1.show(5)
    
  • get_file(file_name) kde file_name je jméno souboru, který chcete načíst.

    Tato funkce načte soubor z úložiště objektů do paměti spuštěného jádra. Funkce vrací bajtovou vyrovnávací paměť, kterou lze použít k vytvoření vazby na datové struktury specifické pro jádro, například pands DataFrame. Tato metoda načítání souborů se nedoporučuje pro velké soubory.

    Následující příklad ukazuje, jak načíst soubor a číst data do pandmas DataFrame:

    # Import the lib
    from project_lib import Project
    project = Project(sc,"<ProjectId>", "<ProjectToken>")
    
    # Fetch the file
    my_file = project.get_file("myFile.csv")
    
    # Read the CSV data file from the object storage into a pandas DataFrame
    my_file.seek(0)
    import pandas as pd
    pd.read_csv(my_file, nrows=10)
    

uložit data

Chcete-li uložit data do paměti objektů přidružené k vašemu projektu, můžete použít následující funkci. Data budou přidána jako soubor do sektoru projektu v přidruženém úložišti Cloud Object Storage. Tato funkce provádí více akcí. Nejprve vloží data do úložiště objektů a pak přidá tato data jako datové aktivum do vašeho projektu, abyste si mohli prohlédnout data, která jste uložili jako soubor v seznamu aktiv dat ve vašem projektu.

save_data(file_name, data, set_project_asset=True, overwrite=False)

Funkce přijímá následující parametry:

  • file_name: název vytvořeného souboru.
  • data: data k odeslání. Může se jednat o libovolný objekt typu file-like-object, například bajtové vyrovnávací paměti nebo vyrovnávací paměti řetězce.
  • set_project_asset[optional]: přidá soubor do projektu jako datové aktivum poté, co byla data úspěšně přenesena do úložiště objektů. Vezme logickou hodnotu a hodnota true je nastavena jako výchozí.
  • overwrite[optional]: tento soubor přepíše, pokud soubor již existuje v úložišti objektů nebo v projektu. Ve výchozím nastavení je nastaven na hodnotu false.

Zde je příklad, který ukazuje, jak můžete uložit data do souboru v úložišti objektů:

# Import the lib
from project_lib import Project
project = Project(sc,"<ProjectId>", "<ProjectToken>")

# let's assume you have the pandas DataFrame  pandas_df which contains the data
# you want to save in your object storage as a csv file
project.save_data("file_name.csv", pandas_df.to_csv(index=False))

# the function returns a dict which contains the asset_id, bucket_name and file_name
# upon successful saving of the data

Číst data z připojení

Chcete-li získat metadata (pověření) daného připojení, můžete použít následující funkci.

get_connection: funkce bere jako vstup ID připojení nebo název připojení. Tyto hodnoty můžete získat pomocí funkce get_assets() , která vrací id, name a type všech aktiv uvedených v projektu.

Funkce get_connection vrací pověřovací údaje připojení, které můžete použít k načtení dat ze zdroje dat připojení.

Zde je příklad, který ukazuje, jak můžete načíst pověření připojení pomocí funkce get_connection :

# Import the lib
from project_lib import Project
    project = Project(sc,"<ProjectId>", "<ProjectToken>")

conn_creds = project.get_connection(name="<ConnectionName>")

Pokud je vaším připojením například připojení k databázi dashDB , můžete načíst data spuštěním následujícího kódu:

from pyspark.sql import SparkSession
spark = SparkSession.builder.getOrCreate()

host_url = "jdbc:db2://{}:{}/{}".format(conn_creds["host"], "50000", conn_creds["database"])
data_df = spark.read.jdbc(host_url, table="<TableName>", properties={"user": conn_creds["username"], "password": conn_creds["password"]})
data_df.show()

Načtení propojených dat

Chcete-li načíst pověření připojených dat, můžete použít následující funkci. Funkce vrátí slovník obsahující pověření připojení spolu s atributem datapath , který odkazuje na specifická data v tomto připojení, například tabulku v instanci dashDB nebo databázi v instanci Cloudant .

get_connected_data: tato funkce bere jako vstup ID připojených dat nebo název připojených dat. Tyto hodnoty můžete získat pomocí funkce get_assets() , která vrací id, name a type všech aktiv uvedených v projektu.

Zde je příklad, který ukazuje, jak načíst údaje pověření připojených dat v instanci dashDB pomocí funkce get_connected_data :

# Import the lib
from project_lib import Project
project = Project(sc,"<ProjectId>", "<ProjectToken>")

creds = project.get_connected_data(name="<ConnectedDataName>")
# creds is a dictionary that has the connection credentials in addition to
# a datapath that references a specific table in the database
# creds: {'database': 'DB_NAME',
# 'datapath': '/DASH11846/SAMPLE_TABLE',
# 'host': 'dashdb-entry-yp-dal09-07.services.dal.bluemix.net',
# 'password': 'XXXX',
# 'sg_service_url': 'https://sgmanager.ng.bluemix.net',
# 'username': 'XXXX'}

Další informace

Prohlédněte si demoverzi těchto funkcí v příspěvku blogu.

Nadřízené téma: Načítání a přístup k datům v zápisníku

Generative AI search and answer
These answers are generated by a large language model in watsonx.ai based on content from the product documentation. Learn more