Why Views Data relationship between custom entity type and node doesn't work?
I solved it by this way:

$data['stream']['table']['join'] = array(
  'node' =&gt; array(
    'left_field' =&gt; 'nid',
    'field' =&gt; 'nid',
    'handler' =&gt; 'views_join', // this is actually optional
    'left_table' =&gt; 'node'
  ),
);


$data['stream']['nid'] = array(
    'title' =&gt; t('Related node'),
    'help' =&gt; t('Node related to stream item.'),

    'field' =&gt; array(
      'handler' =&gt; 'views_handler_field_numeric',
      'click sortable' =&gt; TRUE,
    ),

    'filter' =&gt; array(
      'handler' =&gt; 'views_handler_filter_numeric',
      'allow empty' =&gt; TRUE,
      'help' =&gt; 'Filter on a related node nid.',
    ),
    'argument' =&gt; array(
      'handler' =&gt; 'views_handler_argument_numeric',
      'numeric' =&gt; TRUE,
      'validate type' =&gt; 'nid',
      'help' =&gt; 'Argument on related node nid.',
    ),
    'sort' =&gt; array(
      'handler' =&gt; 'views_handler_sort',
      'help' =&gt; 'Sort on related node nid field.',
    ),
    'relationship' =&gt; array(
      'title' =&gt; t('Stream node'),
      'help' =&gt; t('Relation to node related to current stream item'),
      'label' =&gt; t('Stream node'),
      'base' =&gt; 'node',
      'base field' =&gt; 'nid',
    ),
  );