我是 Azure Cosmos db 新手,我必须将数据导入到我的 Cosmos db 帐户中。
我已经尝试过https://learn.microsoft.com/en-us/azure/cosmos-db/gremlin/bulk-executor-dotnet#java
在此链接中,他们从预定义的种子值中导入了一些随机生成的值:SeedGenerationValues.java(或者我认为是这样。)
有没有一种方法可以输入一些 csv 和图表的架构并获得完整的图表?
我尝试将每条记录更改为gremlin查询,并尝试从本地插入数据:DataWeekender-DataLoad.ipynb
但这效率非常低,并且需要花费大量时间来导入大型数据集(有 100 万条记录)。有没有类似Microsoft Azure提供的批量导入的方式,可以将数据高效导入到gremlin cosmos db中?
是否有一个存储库可供我使用,我可以简单地将 csv 数据和模式作为输入并获取完整的图表,就像我们在 neo4j 中所做的那样并导入数据?
有没有办法将 csv 数据批量导入到 cosmos db gremlin API Azure
要将
.csv
文件导入 Azure Cosmos DB Gremlin API,可以使用以下代码。以下是将数据导入 Cosmos DB Gremlin API 容器的 .NET
代码。
class Program
{
static async Task Main(string[] args)
{
string connectionString = "*****";
CosmosClient client = new CosmosClient(connectionString);
var database = client.GetDatabase("newdb");
var container = database.GetContainer("Graph1");
using (var reader = new StreamReader("C:\\Users\\****\\****\\Desktop\\MyTrails\\firstFile.csv"))
using (var csv = new CsvReader(reader, CultureInfo.InvariantCulture))
{
var records = csv.GetRecords<MyData>();
foreach (var record in records)
{
dynamic vertex = new
{
id = record.Id.ToString(),
label = "Person",
name = record.Name,
age = record.Age
};
try
{
await container.CreateItemAsync(vertex);
}
catch (Exception ex)
{
Console.WriteLine($"Failed to insert record with id{record.Id}: {ex.Message}");
}
}
}
}
}
public class MyData
{
[Index(0)]
public int Id { get; set; }
[Index(1)]
public string Name { get; set; }
[Index(2)]
public int Age { get; set; }
}
输出: