Translation not up to date
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.
-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:
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:
- Na kartě Spravovat vyberte stránku Řízení přístupu a klepněte na volbu Nový přístupový token pod Tokeny přístupu.
- Zadejte název, vyberte roli Editor pro projekt a vytvořte token.
- 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čtení informací o projektu
- Načtení souborů
- uložit data
- Číst data z připojení
- Načíst připojená data
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 funkceget_assets
, která vám umožňuje filtrovat aktiva podle typu. Akceptované hodnoty pro tento parametr jsoudata_asset
,connection
aasset
. Hodnotaasset
vrací všechna aktiva ve vašem projektu. Chcete-li například získat pouze datová aktiva, použijte funkciget_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)
kdefile_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)
kdefile_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 typufile-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