Bir defterden Watson Studio projelerinizle ve proje varlıklarınızla etkileşimde bulunmanız gerekiyorsa, R için project-lib
kitaplığını kullanabilirsiniz. Kitaplık, bir projeye programlı bir arabirim gibidir.
R için project-lib
kitaplığını kullanarak, dosyalar ve bağlantılar da içinde olmak üzere proje meta verilerine ve varlıklarına erişebilirsiniz. Kitaplık ayrıca, projeyle ilişkili dosyaları basitleştiren işlevler de içerir.
Not:
project-lib
işlevleri, verileri bir dosyaya kaydederlerken ya da bir dosyaya veri alınırken verileri kodlamaz ya da çözmez.project-lib
işlevleri, bağlantılı klasör varlıklarına erişmek için kullanılamaz ( Cloud Object Storageiçindeki bir yoldaki dosyalar).
Kitaplığı kullan
R için project-lib
kitaplığı önceden kuruludur ve doğrudan not defteri düzenleyicide bir not defterine aktarılabilir. Not defterinizde project-lib
kitaplığını kullanmak için, projenin tanıtıcısı ve proje simgesi gerekir.
Proje simgesini not defterinize eklemek için:
Not defteri araç çubuğunuzdaki Diğer simgesini ve daha sonra, Proje simgesi ekledüğmesini tıklatın.
Bir proje simgesi varsa, not defterinize aşağıdaki bilgileri içeren bir hücre eklenir:
library(projectLib) project <- projectLib::Project$new(sc, "<ProjectId>", "<ProjectToken>")
sc
, Spark kullanılıyorsa, Spark bağlamlıdır.<ProjectId>
projenizin tanıtıcısıdır ve<ProjectToken>
proje simgizin değeridir.Bir ileti belirtecinin var olmadığı bir iletide anlatıldıysa, projenin Erişim Denetimi sayfasına yeniden yönlendirilecek iletteki bağlantıyı tıklatarak proje simgesi yaratabilirsiniz. Bir proje belirteci yaratma hakkına sahip olmanız gerekir. Ayrıntılar için bkz. Proje belirtecinin el ile eklenmesi.
Proje simgesi yaratmak için:
- Manage (Yönet) etiketinden Access Control (Erişim Denetimi) sayfasını seçin ve Access simgelers(Erişim simgeleri) altındaki New access token (Yeni erişim simgesi)
- Bir ad girin, proje için Düzenleyici rolünü seçin ve bir simge oluşturun.
- Defterinize geri dönün, not defteri araç çubuğundaki Diğer simgesini ve daha sonra, Proje simgesi ekledüğmesini tıklatın.
project-lib
işlevleri
project-lib
kitaplığını içe aktardıktan sonra yaratılan somutlaştırılan proje nesnesi, aşağıdaki şekilde gruplanmış bir işlev kümesi gösterir:
- Proje bilgilerini getir
- Dosyaları getir
- Verileri kaydetme
- Bağlantıdaki verileri okuyun
- Bağlı verileri getir
Proje bilgilerini getir
Proje ile ilgili bilgileri programlı olarak getirmek için aşağıdaki işlevleri kullanabilirsiniz.
get_name()
Bu işlev, projenin adını döndürür.
get_description()
Bu işlev, projenin tanımını döndürür.
get_metadata()
Bu işlev, proje meta verilerini döndürür.
get_storage_metadata()
Bu işlev, projeyle ilişkilendirilen nesne depolamanın meta verilerini döndürür.
get_project_bucket_name()
Bu işlev, ilişkili nesne depolamasındaki proje saklama kabı adını döndürür. Tüm proje dosyaları bu saklama kabında saklanır.
get_files()
Bu işlev, projenizdeki dosyaların bir listesini döndürür. Döndürülen listede yer alan her öğe, dosyanın tanıtıcısını ve adını içerir. Döndürülen dosyaların listesi herhangi bir ölçüte göre sıralanmaz ve işlevi yeniden çağırdığınızda değişebilir.
get_assets()
Bu işlev, tüm proje varlıklarının listesini döndürür. İsteğe bağlı
assetType
parametresiniget_assets
işlevine geçirebilirsiniz. Bu parametre, varlıkları tipe göre süzgeçten geçirmenizi sağlar. Bu parametre için kabul edilen değerlerdata_asset
,connection
veasset
' dir.asset
değeri projenizdeki tüm varlıkları döndürür. Örneğin, yalnızca veri varlıklarını almak içinget_assets("data_asset")
işlevini kullanın.get_connections()
Bu işlev, projenizdeki bağlantıların bir listesini döndürür. Döndürülen listedeki her öğe, tanıtımın tanıtıcısını ve adını içerir.
Dosyaları getir
Projeniz ile ilişkili nesne deposunda saklanan dosyaları getirmek için aşağıdaki işlevleri kullanabilirsiniz.
Dosyaları iki şekilde getirebilirsiniz:
get_file_url(filename)
, buradafilename
almak istediğiniz dosyanın adıdır.Bu işlev, Spark 'ı kullanarak nesne depolamasından bir dosya almak için URL ' yi döndürür. URL adresi, projeyle ilişkili nesne deposu tipine dayalı olarak oluşturulur. Hadoop configurations are set up automatically when you interact with the object storage of your project.
Aşağıdaki örnek, Spark kullanarak nesne depolamasından veri almak için bu işlevin nasıl kullanılacağını gösterir:
# Import the lib library(projectLib) project <- projectLib::Project$new(sc, "<ProjectId>", "<ProjectToken>") # Get the url url <- project$get_file_url("myFile.csv") # Fetch the CSV file from the object storage using Spark invisible(sparkR.session(appName = "SparkSession R")) df.data <- read.df( url, source = "org.apache.spark.sql.execution.datasources.csv.CSVFileFormat", header = "true") head(df.data)
get_file(filename)
, buradafilename
almak istediğiniz dosyanın adıdır.Bu işlev, bir dosyayı çalışan çekirdeğin belleğindeki belleğe alır. İşlev, çekirdeğe özgü veri yapılarına (örneğin, R veri çerçevesi) bağlamak için kullanılabilecek bayt arabelleği döndürür. Çok büyük dosyalar için bu dosya getirme yöntemi önerilmez.
Aşağıdaki örnek, bir dosyanın nasıl getirileceğini ve R veri çerçevesine nasıl okunacağını gösterir:
# Import project lib library(projectLib) project <- projectLib::Project$new(sc , "<ProjectId>", "<ProjectToken>") # Fetch data my.file <- project$get_file("my_file.csv") # Read the CSV data file into a data frame df.data <- read.csv(text = rawToChar(my.file)) head(df.data)
Verileri kaydetme
Projenizle ilişkili nesne deposuna veri saklamak için aşağıdaki işlevi kullanabilirsiniz. Veriler, ilişkili Cloud Object Storageiçindeki proje sepetine bir dosya olarak eklenecektir. Bu işlev birden çok şey yapar. İlk olarak, verileri nesne deposuna koyar ve bu verileri projenizin bir veri varlığı olarak ekler; böylece, projenizdeki veri varlıkları listesinde bir dosya olarak kaydetmiş olduğunuz verileri görebilirsiniz.
save_data(filename, data, setProjectAsset=TRUE, overwrite=FALSE)
İşlev aşağıdaki değiştirgeleri alır:
filename
: yaratılan dosyanın adı.data
: Yüklemek için veri. Bu parametre için kabul edilen tipler R ham nesneleridir ya da dizgi arabellekleridir.setProjectAsset[optional]
: verileri, veriler nesne deposuna başarıyla yüklendikten sonra bir veri varlığı olarak projeye ekler. Bir boole değeri alır ve true değeri varsayılan olarak ayarlanır.overwrite[optional]
: dosya, nesne deposunda ya da projede zaten varsa, dosyanın üzerine yazılır. Varsayılan olarak false olarak ayarlıdır.
Aşağıda, verileri nesne depolamasındaki bir dosyaya nasıl saklayabileceğiniz gösteren bir örnek vardır:
library("projectLib")
project <- access_project()
# Capture CSV data from console output
csv_lines <- capture.output(write.csv(df.data, row.names=FALSE), type="output")
csv_raw <- charToRaw(paste0(csv_lines, collapse='\n'))
project$save_data("file.csv", csv_raw)
Bağlantıdaki verileri okuma
Belirli bir bağlantının meta verilerini (kimlik bilgileri) almak için aşağıdaki işlevi kullanabilirsiniz.
get_connection
: İşlev, bağlantının tanıtıcısını ya da bağlantının adını ya da bağlantının adını alır. Bu değerleri, projede listelenen tüm varlıkların id
, name
ve type
değerlerini döndüren get_assets()
işlevini kullanarak elde edebilirsiniz.
get_connection
işlevi, bağlantı veri kaynağından veri almak için kullanabileceğiniz bağlantı kimlik bilgilerini döndürür.
Aşağıda, get_connection
işlevini kullanarak bir bağlantının kimlik bilgilerini nasıl getirebileceğiniz gösteren bir örnek vardır:
# Import project lib
library(projectLib)
project <- projectLib::Project$new(sc , "<ProjectId>", "<ProjectToken>")
# Fetch connection
conn.cred <- project$get_connection(name="<ConnectionName>")
Bağlantın dashDB ile bağlantılı bir bağlantıysa, aşağıdaki kodu çalıştırarak verilerinizi getirebilirsiniz:
library(ibmdbR)
props <- paste("DASHDB;DATABASE=BLUDB;HOSTNAME=", conn.cred$host, ";PORT=50000;PROTOCOL=TCPIP;", sep="")
conn <- idaConnect(props, uid = conn.cred$username, pwd = conn.cred$password, conType = "odbc")
idaInit(conn)
idf.1 <- ida.data.frame('<TableName>')
head(idf.1)
Bağlı verileri getir
Bağlı verilerin kimlik bilgilerini almak için aşağıdaki işlevi kullanabilirsiniz. Bu işlev, ilgili bağlantıdaki belirli verileri (örneğin, bir dashDB örneğindeki bir tablo ya da Cloudant ) bir veritabanında işaret eden bir datapath
özniteliğine ek olarak bağlantı kimlik bilgilerini içeren bir sözlük döndürür.
get_connected_data
: bu işlev, bağlı verilerin tanıtıcısını ya da bağlı verilerin adını girdikçe alır. Bu değerleri, projede listelenen tüm varlıkların id
, name
ve type
değerlerini döndüren get_assets()
işlevini kullanarak elde edebilirsiniz.
Here is an example, which shows you how to fetch the credentials of connected data in a dashDB instance by using the get_connected_data
function:
# Import project lib
library(projectLib)
project <- projectLib::Project$new(sc , "<ProjectId>", "<ProjectToken>")
# Fetch credentials of the connected data
conn.data <- project$get_connected_data(id="<ConnectedDataId>")
Üst konu: Not defterine veri yüklenmesi ve not defterine erişilmesi