Example #1
0
def get_file_content(filename):
  chunks = []
  for f in dfs.files():
    if f.name == filename:
      chunks = f.chunks
  if len(chunks) == 0:
    return
  clocs = {}
  for c in dfs.chunk_locations():
    clocs[c.id] = c.chunkserver

  for chunk in chunks:
    try:
      loc = clocs[chunk]
      if loc == "":
        raise "ERROR: location of chunk %s is unknown" % chunk
      for l in dfs.get_chunk_data(loc, chunk):
        yield l[:-1]
    except StopIteration:
      pass
Example #2
0
def demo():
  for f in dfs.files():
    print("File {0} consists of fragments {1}".format(f.name, f.chunks))

  for c in dfs.chunk_locations():
    print("Chunk {0} sits on chunk server {1}".format(c.id, c.chunkserver))

  # Дальнейший код всего лишь тестирует получение фрагмента, предполагая, что известно,
  # где он лежит. Не рассчитывайте, что этот фрагмент всегда будет находиться
  # на использованных тут файл-серверах

  # При использовании test_dfs читаем из каталога cs0
  chunk_iterator = dfs.get_chunk_data("cs0", "partitions")

  # При использовании http_dfs читаем с данного сервера
  #chunk_iterator = dfs.get_chunk_data("104.155.8.206", "partitions")
  print("\nThe contents of chunk partitions:")
  for line in chunk_iterator:
    # удаляем символ перевода строки
    print(line[:-1])
Example #3
0
def get_file_content(filename):
  chunks = []
  for f in dfs.files():
    if f.name == filename:
      chunks = f.chunks
  if len(chunks) == 0:
    return
  clocs = {}
  for c in dfs.chunk_locations():
    clocs[c.id] = c.chunkserver

  for chunk in chunks:
    try:
      loc = clocs[chunk]
      if loc == "":
        raise "ERROR: location of chunk %s is unknown" % chunk
      for l in dfs.get_chunk_data(loc, chunk):
        yield l[:-1]
    except StopIteration:
      pass
Example #4
0
def demo():
    for f in dfs.files():
        print("File {0} consists of fragments {1}".format(f.name, f.chunks))

    for c in dfs.chunk_locations():
        print("Chunk {0} sits on chunk server {1}".format(c.id, c.chunkserver))

    # Дальнейший код всего лишь тестирует получение фрагмента, предполагая, что известно,
    # где он лежит. Не рассчитывайте, что этот фрагмент всегда будет находиться
    # на использованных тут файл-серверах

    # При использовании test_dfs читаем из каталога cs0
    chunk_iterator = dfs.get_chunk_data("cs0", "partitions")

    # При использовании http_dfs читаем с данного сервера
    #chunk_iterator = dfs.get_chunk_data("104.155.8.206", "partitions")
    print("\nThe contents of chunk partitions:")
    for line in chunk_iterator:
        # удаляем символ перевода строки
        print(line[:-1])